Subject: Re: Fexprs more flexible, powerful, easier to learn? (Newlisp vs CL)
From: (Rob Warnock)
Date: Tue, 27 Jan 2009 21:18:00 -0600
Newsgroups: comp.lang.lisp
Message-ID: <>
Dimiter \"malkia\" Stanev <> wrote:
| Raffael Cavallaro wrote:
| > Even assuming you manage to do so the real issue is one of sensible 
| > defaults. Scheme showed clearly that the sensible default is lexical 
| > scope because it allows programmers to reason about code without having 
| > to do whole-program analysis. This is why lexical scope was adopted as 
| > the default in Common Lisp. newlisp gets this backwards.
| And Common Lisp, deciding to keep dynamic vars, unlike Scheme (AFAIK), 
| but making them a *special*, not default choice is the right thing to do!

Unfortunately, for compatibility with historical Lisps, Common Lisp
chose to leave global variables SPECIAL by default, *not* lexical
as in Scheme. This was a serious mistake, IMHO.

Fortunately, the addition of DEFINE-SYMBOL-MACRO to the standard
made it possible for users to re-introduce global lexical variables


[1] <> and the like.

Rob Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607