[Top][All Lists]

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

Re: Threads in emacs implementation

From: Nic Ferrier
Subject: Re: Threads in emacs implementation
Date: Tue, 07 Jun 2005 11:37:28 +0100

Ken Raeburn <address@hidden> writes:

> For various reasons, I decided to put my attention about three years or 
> so ago into a somewhat different project -- making it possible to run 
> Emacs with the Guile interpreter tied into the Lisp system.  Guile -- 
> GNU's Ubiquitous Intelligent Language for Extension -- is the GNU 
> Project's Scheme implementation, intended to be a general extension 
> language for the GNU Project.  Scheme is Lisp-like in some ways, 
> different in others; in particular, Scheme uses static scoping, so Lisp 
> dynamic bindings are an interesting part of the issue.  But there are 
> people working on making Guile be able to handle Emacs Lisp, and there 
> already is pthread support in Guile.  So my thinking is, if the Emacs 
> Lisp engine can be made to operate on Guile objects (including, for 
> example, a new Guile object type that represents an Emacs buffer, which 
> is a Lisp type now), and these other people find ways to deal with 
> threads and dynamic scoping, then we've made a lot of progress not just 
> towards the possibility of multiple threads in Emacs, but also towards 
> having GNU's "ubiquitous extension language" available in what's 
> probably GNU's most commonly extended (and most extensible) program.

A couple of times I've thought about just linking guile and emacs
together, giving guile some wrappers around existing emacs types and
adding some mechanism to emacs for running guile programs. 

I figured that such a system would be a very slow evolutionary step
and probably more likely to succeed in the long run (10 years?) than
just trying to switch over.

Unfortunately, guile is not a small, well designed program. It is much
more of a mess than emacs is and looks hard to put in nicely. Putting
it in crassly is still an option though.


reply via email to

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