From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.help Subject: Re: Differences between Elisp and Lisp Date: 29 Apr 2003 12:35:39 +0200 Organization: Organization!?! Sender: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1051613650 2646 80.91.224.249 (29 Apr 2003 10:54:10 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 29 Apr 2003 10:54:10 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Tue Apr 29 12:54:09 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19ASkS-0000gW-00 for ; Tue, 29 Apr 2003 12:54:08 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 19ASa2-0002eU-00 for gnu-help-gnu-emacs@m.gmane.org; Tue, 29 Apr 2003 06:43:22 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!news.ems.psu.edu!news.cse.psu.edu!uwm.edu!newsfeed.cs.wisc.edu!144.212.100.101.MISMATCH!newsfeed!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed00.sul.t-online.de!newsmm00.sul.t-online.com!t-online.de!news.t-online.com!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 37 Original-X-Trace: news.t-online.com 1051612539 04 3848 KRQ5Er4SvA3km 030429 10:35:39 Original-X-Complaints-To: abuse@t-online.com X-ID: rwBM8GZdoeAewitQQ5g7zpDfumZKEEzLqe5Afz0+OF2Po+IkoLgRUs X-Face: 2FEFf>]>q>2iw=B6,xrUubRI>pR&Ml9=ao@P@i)L:\urd*t9M~y1^:+Y]'C0~{mAl`oQuAl \!3KEIp?*w`|bL5qr,H)LFO6Q=qx~iH4DN;i"; /yuIsqbLLCh/!U#X[S~(5eZ41to5f%E@'ELIi$t^ Vc\LWP@J5p^rst0+('>Er0=^1{]M9!p?&:\z]|;&=NP3AhB!B_bi^]Pfkw User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 Original-Xref: shelby.stanford.edu gnu.emacs.help:112495 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.help:8992 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:8992 Lars Magne Ingebrigtsen writes: > "Daniel R. Anderson" 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