SiteMap Search ElispArea HowTo Glossary RecentChanges News Problems Suggestions

GuileEmacs

Last edit

Summary: Added translation: Guile Emacs (中文)

Added:

> [[zh:Guile_Emacs]]


Guile Emacs is a variant of Emacs which is integrating the Guile extension language in addition to EmacsLisp so to provide a better programming environment for both Emacs users and Guile users. Guile is in fact Scheme, a much simpler and cleaner dialect of Lisp than CommonLisp.

Some original work was by KeisukeNishida? and was based on Emacs 20.7 and Guile 1.5. The last work on this project was 2000-06-01. The goal was to support both Guile and EmacsLisp. You can find more information on its Sourceforge page, or in the project’s mailing list archive.

Matthias Neubauer and Michael Sperber studied the possibility of automatically translating Emacs Lisp Code into Scheme. See DownWithEmacsLisp.

On 2001-11-03, NeilJerram? was working on an EmacsLisp reader. A posting [1] to guile-devel@gnu.org on showed an elisp reader reading 3279 lines (“wc -l”) of elisp code already. He says: “I think progress beyond this point basically means implementing multilingual and multibyte strings properly for Guile. Which is a lot of work and requires IMO a very clear plan for Guile’s role with respect to Emacs.”

KenRaeburn? started a project as early as 1999 to replace Lisp with Guile in Emacs starting at the very lowest levels, i.e., object representation, allocation, GC; with evaluating Scheme code coming later. Working with EmacsFromCVS he could isolate the implementation to some of the simpler Lisp types (those that could most easily be shared with Scheme) from the rest of the Emacs code. Even if the project succeeded in getting Guile into Emacs, the handling of the current evaluator code was an open issue.

On 2002-07-16, there was a discussion started on emacs-devel about emacs and guile.

By 2006-01-03, according to Ken “Some stuff does work, actually. Non-tty displays don’t”. This was for reasons that “have less to do directly with Guile than with the fact that the Guile library isn’t unexec-safe”. Consequently, Ken was not doing the unexec step. Guile Emacs in a terminal window has a “shell mode, browses directories, does font-lock coloring of C source files, etc.”

As of 2009-06-11, Ken has provided an updated snapshot of the work.

As brought to our attention in 2010-04-16 by AlexSchroeder:

Apparently there’s more discussion regarding Guile, Emacs, and GuileEmacs on emacs-devel.
* Guile in Emacs started by Tom Lord, a very long thread
* guile and emacs and elisp, oh my by Andy Wingo

On 2011-02-16, Guile 2.0 was released with some Emacs Lisp support.

For GoogleSummerOfCode 2011, work was done on Emacs Lisp support in Guile. Read the status report on 2011-07-21 posted to the [[guile-devel?]] list.

On 2012-04-09, there was an announcement on emacs-devel about GoogleSummerOfCode projects that included adding libguile to Emacs and using it as the interpreter. It was followed by some mailing list discussion.

As of 2013-03, the latest state of “guilemacs” as some call it, can be found at BT Templeton's Emacs repository and in their Guile repository. Progress has slowed since the end of GoogleSummerOfCode, but there are still signs of life, and commits being made. Contributions are very welcome; it seems to be almost there. It compiles and runs ERC, Gnus, etc. all fine, behaving indistinguishable from a normal Emacs build, but not entirely without issues; see GuileEmacsTodo.


CategoryExtensionLanguage EmacsImplementations