[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Requirements to merge "guilemacs" into trunk

From: Noah Lavine
Subject: Re: Requirements to merge "guilemacs" into trunk
Date: Sun, 5 May 2013 19:10:35 -0400


I'm not the author of Guilemacs, but I do work on Guile, and I just took a look at the log of the Guilemacs repository (http://git.hcoop.net/?p=bpt/emacs.git;a=log). As I'm sure you know, the goal is to use Guile as the ELisp interpreter (or really compiler) for Emacs. I will try to summarize how it works, although I hope bpt himself will email about it, since he wrote it.

I think that the single biggest change is garbage collection. Guile uses bdw-gc, a library for conservative garbage collection. It looks like most of the changes are converting Emacs to use that. I see that bpt also disabled pure space, but I don't know if that's required by bdw-gc or just convenient when one is working on garbage collection. Similarly, he disabled asynchronous input, but I am quite sure Guile can do that, so I don't know why he turned it off.

As for whether you could incorporate it without adopting it, I think the answer is yes. You could have a configure option that would control whether Emacs used its own ELisp interpreter or Guile's. This would touch a lot of the C code, because it would also affect the garbage collection and the object representation. But I don't see any reason it wouldn't work.

Hope this helps,
Noah Lavine

On Sun, May 5, 2013 at 12:50 AM, Stefan Monnier <address@hidden> wrote:
> What would you need to see in order to be convinced that "wip-guile" is
> mature enough to be incorporated into the trunk? Which concerns have yet to
> be addressed?

I don't know.  Because I don't really know what is "guilemacs" and what
"incorporate it" means.  I mean, I have some idea about what guilemacs
attempts to do, but for example I don't know to what extent we could
incorporate it without switching to it.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]