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.
next prev 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).