From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Sam Steingold Newsgroups: gmane.emacs.devel Subject: Re: Why do we spend time on Emacs on Guile? Date: 16 Aug 2002 14:02:14 -0400 Sender: emacs-devel-admin@gnu.org Message-ID: References: <5xk7mrywnt.fsf_-_@kfs2.cua.dk> Reply-To: sds@gnu.org NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1029520932 8425 127.0.0.1 (16 Aug 2002 18:02:12 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 16 Aug 2002 18:02:12 +0000 (UTC) Cc: emacs-devel@gnu.org, gerd.moellmann@t-online.de (Gerd Moellmann) Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17flQJ-0002Bm-00 for ; Fri, 16 Aug 2002 20:02:11 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17flqO-0002GK-00 for ; Fri, 16 Aug 2002 20:29:08 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17flRJ-0003z1-00; Fri, 16 Aug 2002 14:03:13 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17flQU-0003hE-00 for emacs-devel@gnu.org; Fri, 16 Aug 2002 14:02:22 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17flQQ-0003h2-00 for emacs-devel@gnu.org; Fri, 16 Aug 2002 14:02:22 -0400 Original-Received: from h007.c001.snv.cp.net ([209.228.32.121] helo=c001.snv.cp.net) by monty-python.gnu.org with smtp (Exim 4.10) id 17flQP-0003gj-00 for emacs-devel@gnu.org; Fri, 16 Aug 2002 14:02:17 -0400 Original-Received: (cpmta 27397 invoked from network); 16 Aug 2002 11:02:16 -0700 Original-Received: from 65.114.186.226 (HELO glip.premonitia.com) by smtp.premonitia.com (209.228.32.121) with SMTP; 16 Aug 2002 11:02:16 -0700 X-Sent: 16 Aug 2002 18:02:16 GMT Original-To: storm@cua.dk (Kim F. Storm) X-Attribution: Sam X-Disclaimer: You should not expect anyone to agree with me. Mail-Copies-To: never In-Reply-To: <5xk7mrywnt.fsf_-_@kfs2.cua.dk> Original-Lines: 73 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:6586 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:6586 > * In message <5xk7mrywnt.fsf_-_@kfs2.cua.dk> > * On the subject of "Why do we spend time on Emacs on Guile?" > * Sent on 16 Aug 2002 11:34:30 +0200 > * Honorable storm@cua.dk (Kim F. Storm) writes: > > gerd.moellmann@t-online.de (Gerd Moellmann) writes: > > No, I still think basing Emacs on Guile is a very bad idea. > And I thought I was alone :-) that makes 3 of us! :-) > Emacs Lisp has allowed users and hackers to implement zillions of > brilliant add-on packages; what benefits (besides the academic ones) > will switching to Guile give us? There are two separate issues here: 1. should Emacs use Emacs-Lisp or some other language? 2. if yes, what should that language be? (1): Just like C is a good "UNIX extension language", but not really suitable for large applications, Emacs lisp is a nice Emacs extension language, but it is not really good for large-scale application. So it should be replaced by a high-level language better suited for solving complex problems (like Calc, Gnus, JDE &c) A simple example: half the packages that come with Emacs re-implement at least one CL function (e.g., `find' with keywords) they need but cannot use because of the requirement of not using cl.el at run time. (2): Guile is a nice small teaching language which lacks features necessary for buiding large applications. Yes, there are many extensions, but they have not been standardized yet, so using Guile will either require having several incompatible object systems or choosing one of then - and it is not clear which one (so much haggling lays ahead...) As I said in an earlier message, choosing Guile is discarding all the thought that went into Common Lisp. It is a huge mistake, which we will be paying for in the years ahead. A simple example: loading and executing Emacs Lisp in Guile appears to be a Really Hard Problem. Loading and executing Emacs Lisp in Common Lisp was a weekend exercise for me several years ago: you can run Emacs Calendar under any ANSI Common Lisp (e.g., ) using my (see ). Two more issues: - size: as I said, the size of Emacs will probably descrease with the switch to CL because a lot of code duplication will be eliminated. - transition pangs: both syntactically and semantically Emacs Lisp is _much_ closer to Common Lisp than to Scheme. It is much easier for an ELisp hacker to get up to speed with CL than with Scheme (this is from my personal experience). CL as a language is bigger than ELisp, which, in turn, is bigger than Scheme. What is easier: to move from a 2 bedroom apartment to a 5 bedroom house or to a studio (whose widow opens to an adjoining roof and which, therefore, can be extended with the help of the friendly building manager)? -- Sam Steingold (http://www.podval.org/~sds) running RedHat7.3 GNU/Linux Good programmers treat Microsoft products as damage and route around it.