unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Sam Steingold <sds@gnu.org>
Cc: emacs-devel@gnu.org,  gerd.moellmann@t-online.de (Gerd Moellmann)
Subject: Re: Why do we spend time on Emacs on Guile?
Date: 16 Aug 2002 14:02:14 -0400	[thread overview]
Message-ID: <sa0k7mqr8bd.fsf@glip.premonitia.com> (raw)
In-Reply-To: <5xk7mrywnt.fsf_-_@kfs2.cua.dk>

> * 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.,
   <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.

  parent reply	other threads:[~2002-08-16 18:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <86y9b8awuv.fsf@gerd.free-bsd.org>
2002-08-16  9:34 ` Why do we spend time on Emacs on Guile? Kim F. Storm
2002-08-16 16:36   ` Thien-Thi Nguyen
2002-08-16 22:46     ` Werner LEMBERG
2002-08-17 23:28       ` Thien-Thi Nguyen
2002-08-16 16:52   ` D. Goel
2002-08-16 18:02   ` Sam Steingold [this message]
2002-08-17  4:50   ` Richard Stallman
2002-08-17 13:02     ` Sam Steingold
2002-08-23  7:02       ` Michael Sperber [Mr.  Preprocessor]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=sa0k7mqr8bd.fsf@glip.premonitia.com \
    --to=sds@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=gerd.moellmann@t-online.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).