From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nic Ferrier Newsgroups: gmane.emacs.devel Subject: Re: Threads in emacs implementation Date: Tue, 07 Jun 2005 11:37:28 +0100 Message-ID: <87ekbejvvb.fsf@kanga.tapsellferrier.co.uk> References: <6dbd4d0005060619227dd41364@mail.gmail.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1118141892 12729 80.91.229.2 (7 Jun 2005 10:58:12 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 7 Jun 2005 10:58:12 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jun 07 12:58:01 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Dfbm4-0008JC-Vh for ged-emacs-devel@m.gmane.org; Tue, 07 Jun 2005 12:57:37 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DfbsZ-0007ws-RU for ged-emacs-devel@m.gmane.org; Tue, 07 Jun 2005 07:04:19 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DfbiG-0005Ml-SA for emacs-devel@gnu.org; Tue, 07 Jun 2005 06:53:41 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DfbiF-0005MF-7Y for emacs-devel@gnu.org; Tue, 07 Jun 2005 06:53:39 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DfbiE-0005DB-24 for emacs-devel@gnu.org; Tue, 07 Jun 2005 06:53:38 -0400 Original-Received: from [80.168.156.78] (helo=owls-tree.tapsellferrier.co.uk) by monty-python.gnu.org with esmtp (TLS-1.0:RSA_AES_128_CBC_SHA:16) (Exim 4.34) id 1DfbaP-0006dl-Vg for emacs-devel@gnu.org; Tue, 07 Jun 2005 06:45:34 -0400 Original-Received: from [217.207.145.34] (helo=kanga) by owls-tree.tapsellferrier.co.uk with esmtp (Exim 4.50 #1 (Debian)) id 1DfbSX-0003Z9-4S; Tue, 07 Jun 2005 11:37:25 +0100 Original-Received: from nferrier by kanga with local (Exim 4.44) id 1DfbSh-0002yu-15; Tue, 07 Jun 2005 11:37:35 +0100 Original-To: Ken Raeburn In-Reply-To: (Ken Raeburn's message of "Tue, 7 Jun 2005 01:16:53 -0400") X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:38238 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:38238 Ken Raeburn 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. Nic