emacs-devel
[Top][All Lists]
Advanced

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

Re: Logistics of Using Guile


From: Andy Wingo
Subject: Re: Logistics of Using Guile
Date: Fri, 23 Apr 2010 10:57:18 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (gnu/linux)

Hi Noah,

On Fri 23 Apr 2010 00:21, Noah Lavine <address@hidden> writes:

> The situation as I see it is this: Guile already has an implementation
> of Elisp that is at least mostly done, if not entirely done, but it
> only includes the standard Lisp objects - numbers, strings, lists,
> vectors, etc. The next step, before we could use Guile to run Emacs,
> is porting all of the C code that deals with files, buffers, display,
> etc. As far as I can tell there are three options for doing this:
>
> 1. Write a C translation layer to convert between SCM (Guile
> representation) and Lisp_Object (Elisp representation) of values at
> runtime.
>
> 2. Rewrite src/lisp.h, the file with all the macros dealing with
> Lisp_Objects, to use Guile SCM stuff, and then recompile all of the
> Emacs sources that we want.
>
> 3. Port the Emacs C code manually to use SCM.

For me, #2 is the only realistic option.

There are a couple of outstanding projects you might not be aware of:

 1. Ken Raeburn's Guilemacs -- http://www.mit.edu/~raeburn/guilemacs/

    Ken is currently working on rebasing his patches in this branch
    against current bzr.

 2. Brian Templeton's summer-of-code project (pending)

    http://thread.gmane.org/gmane.lisp.guile.devel/10163

    Brian is going to polish off Guile's Elisp compiler, and attempt to
    flesh out what the problems are going to be when replacing Emacs'
    elisp implementation.

    The biggest problem is, as I mention in my reply in Brian's thread,
    that there are many unknowns about such a rebase.

Also I think that the Elisp implementation is in an OK state, but
probably still needs a couple months' work.

> (I'm asking this partly in the hope that I would have enough
> information to plausibly start hacking in about three weeks, when I
> anticipate having some free time to do things like this.)

Cool! Perhaps the best of all possible worlds™ would be for Ken to push
his branch within the next 2-3 weeks, and you could investigate from
there. AFAIUI, Ken's branch makes Emacs use Guile data structures, but
keeps Emacs' Elisp implementation. Then swapping out the elisp
implementation would be a more manageable change.

Regards,

Andy
-- 
http://wingolog.org/




reply via email to

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