unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: David Kastrup <dak@gnu.org>
Subject: Re: Differences between Elisp and Lisp
Date: 29 Apr 2003 12:35:39 +0200	[thread overview]
Message-ID: <x51xzl8ubo.fsf@lola.goethe.zz> (raw)
In-Reply-To: m3n0i9egzm.fsf@quimbies.gnus.org

Lars Magne Ingebrigtsen <lmi@gnus.org> writes:

> "Daniel R. Anderson" <dan@mathjunkies.com> writes:
> 
> > On emacswiki.org there is a "wish list".  Quite a few people want emacs
> > to be based on another version of LISP.  Out of curiosity, what is it
> > that makes elisp inherently bad, or why would people want it to be
> > changed?
> 
> There's nothing inherently bad about Emacs Lisp, in my opinion.  I
> think it's a cute language that fun to work with.
> 
> However, it has some peculiarities that many people find
> disconcerting.  For instance -- all variables have dynamic scope,
> which is somewhat unusual these days.

It is also unpredictable and inefficient.  For example, you have to
write
((lambda (f g n) (funcall g (funcall f f g) n))
 (lambda (f g) `(lambda (n) (,g (funcall ,f ,f ,g) n)))
 (lambda (f n) (if (zerop n) 1 (* n (funcall f (1- n)))))
 5)
in Emacs-Lisp (meaning that the stuff can't be compiled at compile
time) instead of
((lambda (f g n) (funcall g (funcall f f g) n))
 (lambda (f g) (lambda (n) (funcall g (funcall f f g) n)))
 (lambda (f n) (if (zerop n) 1 (* n (funcall f (1- n)))))
 5)
as is possible in Common Lisp.

It also means that you can't completely compile functions, as the
referenced variables might be something completely different from what
you expect: any function you call may wish to tamper with your own
local variables.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

  reply	other threads:[~2003-04-29 10:35 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.5343.1051607007.21513.help-gnu-emacs@gnu.org>
2003-04-29 10:22 ` Differences between Elisp and Lisp Friedrich Dominicus
2003-04-29 10:27 ` Lars Magne Ingebrigtsen
2003-04-29 10:35   ` David Kastrup [this message]
2003-04-29 11:03   ` Oliver Scholz
2003-04-29 12:23     ` Phillip Lord
2003-04-29 14:17       ` Thomas Link
2003-04-29 15:43         ` Kent M Pitman
2003-04-29 15:56           ` Phillip Lord
2003-04-29 16:44             ` Kent M Pitman
2003-04-29 17:16               ` Phillip Lord
2003-04-29 18:41                 ` Kai Großjohann
2003-04-30 12:39                   ` Phillip Lord
2003-04-30 13:12                     ` Kai Großjohann
2003-04-30 18:07                     ` Kevin Rodgers
2003-04-29 18:59             ` Oliver Scholz
2003-04-30 12:43               ` Phillip Lord
2003-04-29 17:01       ` Kai Großjohann
2003-04-30 23:02   ` Stefan Monnier
2003-05-01  5:22     ` Lars Magne Ingebrigtsen
2003-05-01  5:41       ` Friedrich Dominicus
2003-05-01  5:54         ` Lars Magne Ingebrigtsen
2003-05-01  6:37           ` [OT] " Friedrich Dominicus
     [not found] ` <yoijznm9y5yr.fsf@bilbo.dd.chalmers.se>
2003-04-29 13:45   ` Kent M Pitman
2003-04-29 15:23     ` Nicolas Neuss
2003-04-29 15:28       ` Nicolas Neuss
2003-04-29 14:23   ` Marco Antoniotti
2003-04-29 14:29     ` Phillip Lord
2003-04-29 19:06       ` Oliver Scholz
2003-04-29 16:51 ` Kaz Kylheku
2003-04-29  8:57 Daniel R. Anderson

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=x51xzl8ubo.fsf@lola.goethe.zz \
    --to=dak@gnu.org \
    /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.
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).