From: Jeff Dalton
Subject: Re: Common LISP: The Next Generation
Date: 
Message-ID: <DwuLvE.3Jq.0.macbeth@cogsci.ed.ac.uk>
Part of the reason Common Lisp is less popular than it might be
is that people keep saying false things about it.  For instance,
in a recent message ····@goober.graphics.cs.cmu.edu (Scott Draves)
wrote:

> the reason Scheme `threw out' so much of CommonLISP
> wasn't because they considered things like records and exceptions were
> superfluous, but because they wanted to Do It Right.  CommonLISP is
> the expediant compromise and union of (then) existing lisp systems.
> Scheme was the intersection: everything that they could agree was
> Right.

Everything there is wrong.

Scheme existed before Common Lisp and so didn't "throw out" anything
from Common Lisp.  However, Common Lisp was influenced by Scheme.

Common Lisp is _not_ a union: if anything, it's an intersection:
it's what those working on several successors to MacLisp could agree
on.  Look in CLtL.  Moreover, Common Lisp is a substantial _cleanup_
compared most previous Lisp.

Finally, Scheme was _not_ the intersection of (then) existing
Lisp systems.  For one thing, you don't get full lexical scoping by
taking the intersection.

-- jd
From: Scott Draves
Subject: Re: Common LISP: The Next Generation
Date: 
Message-ID: <wb0n2zfqqfi.fsf@goober.graphics.cs.cmu.edu>
apparantly, i was not clear.

i wasn't speaking about historical sequence (which i know), but rather
of end products of design philosophy, process, and objectives applied to
feature selection.  loosely, that `intersection' produces the smallest
product by including essential features agreed upon by everyone, and
that union includes features found to be useful, but that one often
can live without (such as macros and packages) or were missing from
one of the predecessors (eg complex arithmetic).

So when i say Scheme `threw out' things form Common Lisp, i didn't
mean that they were reading the Common lisp standard and removed
things from it, i meant that the designers considered many of the same
features, but decided not to included them.  remember the committe
operated by unanimous consent.

compatability, one of the core goals of Common Lisp, is inherently a
`union' philosophy.  something you have to agree on once (like if
variables are by default lexical or dynamic, and how many namespaces
there are), but many, many features exist as standard/library
functions or data types which coexist, ie can be unioned.

from [Reese82] from [Evolution of Lisp]

    we have refrained from supporting features that we didn't feel
    completely right about. ... 

[Evolution of Lisp] also says that eventually the common lisp group
felt that their task was finding The Right Thing as well, but i don't
believe this is true to the extent that it is in Scheme.

jeff> Part of the reason Common Lisp is less popular than it might be
jeff> is that people keep saying false things about it.

pu-leeze relax jeff.  i think Common Lisp is a wonderful language.  i
haven't said anything negative about it.
-- 
				balance
				equilibrium
				death

http://www.cs.cmu.edu/~spot
····@cs.cmu.edu