emacs-devel
[Top][All Lists]
Advanced

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

Re: Why do we spend time on Emacs on Guile?


From: Sam Steingold
Subject: Re: Why do we spend time on Emacs on Guile?
Date: 16 Aug 2002 14:02:14 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

> * In message <address@hidden>
> * On the subject of "Why do we spend time on Emacs on Guile?"
> * Sent on 16 Aug 2002 11:34:30 +0200
> * Honorable address@hidden (Kim F. Storm) writes:
>
> address@hidden (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.,
   <http://clisp.cons.org>) using my <CLOCC/CLLIB/elisp.lisp> (see
   <http://clocc.sf.net>).

   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
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.palestine-central.com/links.html>
Good programmers treat Microsoft products as damage and route around it.





reply via email to

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