emacs-devel
[Top][All Lists]
Advanced

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

Re: guile and emacs and elisp, oh my!


From: Ken Raeburn
Subject: Re: guile and emacs and elisp, oh my!
Date: Thu, 15 Apr 2010 19:54:06 -0400

On Apr 15, 2010, at 04:53, address@hidden wrote:
> I find this very interesting. Do you have some form of plan how to
> integrate this form of Guile and Emacs? Can it be done incrementally,
> that is, can the current elisp system and the guile system coexist in
> the same Emacs? If so, more hackers could help out with the integration,
> maybe.

I think I've written up some email in the past (you may have to search back 
several months) about this.  My project -- changing Emacs to use Guile object 
types (at least the simplest ones) and Guile's allocator and GC -- can be done 
somewhat incrementally.  E.g., make sure Emacs uses accessor functions or 
macros for all uses of type X outside of its own GC system (those changes can 
be done upstream), and passes around Lisp_Object values rather than pointers to 
struct Lisp_Foo (likewise), then redefine type X's implementation using more 
appropriate Guile types, then work on type Y... currently strings, symbols, 
vectors, and hashes are on my list; individual "misc" and "vectorlike" types 
can come later, maybe.

I have no intention of getting rid of elisp from emacs, most certainly.  As for 
eventually replacing the entire Lisp implementation in Emacs with the Guile 
one, well, I'm hoping that, like Andy suggested, it'll become an obvious win to 
do so, but if we wind up for a while with two distinct language interpreters 
(Emacs elisp and Guile VM) but a shared object system and working communication 
between languages, while Andy madly tries to fix whatever performance problem 
we might have run into with Guile's elisp implementation :-), I'd be okay with 
that.

I've recently updated my code to be based on a recent development version of 
Emacs, though I haven't published the updated version yet and there appears to 
be some kind of GC problem or something at the moment.  I also haven't got it 
fully updated for guile 1.9.x (and the upcoming 2.0), which has a different GC 
system anyways.  (The new GC system is Boehm's GC library.  There was an effort 
to make Emacs use it some time back, by Dave Love, and I think some of those 
changes will be needed for Emacs-with-Guile-2.0.  So updating that work might 
also be helpful?)

But, now that we've got bzr upstream and branching should be relatively easy, 
perhaps I should clean it up a little and push it all into a branch on 
savannah, if the maintainers are interested?  If there's really interest in 
working on it, I'd love to get some help....

Ken



reply via email to

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