From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tim X Newsgroups: gmane.emacs.help Subject: Re: Guile vs ELisp Date: Thu, 04 Nov 2010 18:10:57 +1100 Organization: Unlimited download news at news.astraweb.com Message-ID: <87sjzhtvge.fsf@puma.rapttech.com.au> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1291880920 19904 80.91.229.12 (9 Dec 2010 07:48:40 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 9 Dec 2010 07:48:40 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Dec 09 08:48:36 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PQbEy-0004NM-Ht for geh-help-gnu-emacs@m.gmane.org; Thu, 09 Dec 2010 08:48:36 +0100 Original-Received: from localhost ([127.0.0.1]:55644 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PQbEw-0004Vn-NI for geh-help-gnu-emacs@m.gmane.org; Thu, 09 Dec 2010 02:48:35 -0500 Original-Path: usenet.stanford.edu!news-xfer.nntp.sonic.net!news.astraweb.com!border1.newsrouter.astraweb.com!not-for-mail Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:iCLt/QzbnZhHqlDT8PIU/gK4Ib0= Original-Lines: 51 Original-NNTP-Posting-Host: edf15c6f.news.astraweb.com Original-X-Trace: DXC=a?I0E798Y4>o^d=IeQT`3>L?0kYOcDh@:SBc; \8ijUd; f7hJAGFlJg1SYAg_74SaL: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:76843 Archived-At: Dani Moncayo writes: > Hi there, > > I'm a beginner in Elisp, and have a question (just for curiosity): > > Go to the Emacs Lips Manual (edition 3.0 / Emacs 24.0.50), section > "1.2 Lisp History". The last paragraph reads like this: > >> Emacs Lisp is not at all influenced by Scheme; but the GNU project >> has an implementation of Scheme, called Guile. We use Guile in all new >> GNU software that calls for extensibility. > > ...so my question is: If GNU Emacs was to be started from scratch > today, would Guile be better than ELips as extensibility language? > In short, yes, guile would probably be a better extension language than elisp, which has some real limitations. There has been a lot of discussion about this over the years. In general, most acccept that guile would be better, but the issue is all the legacy elisp code that would be lost and the amount of work that would need to be done to get the same level of functionality we already have. While we may see an emacs like editor with guile as the extension language at some point in the future, though I doubt it, I suspect it will be a totally new beastie. Imagine an emacs that is multi-threaded, has an extension language with namespaces, closures, etc and can start without any of the old 'baggage' and learns from the wealth of experience gained over the past 40 years. Could be a truely wonderful thing. At the same time, consider all the effort and work that has gone into the fine editor we now have and the amount of work it would take to get the same functionality - a huge task. Then combine that with the wealth of alternatives and the fact I think most people are now use to using many different programs. There is an argument that would suggest we are better off with distinct programs that all do one thing, but do it really well rather than one large program that tries to do everything. If you use emacs just as an editor, what level of power do you really need in an extension language. While elisp may have some real limitaitons, most of these don't greatly impact on things you want to do with it that are diretly relevant to an editor. Most of the limitations apear to become an issue when you start writing extensions to do things other than those directly relating to editing of text i.e. web browser, mail readers, chat /IM clients, etc. Tim -- tcross (at) rapttech dot com dot au