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