Apr 2, 2022, 7:04:55 AMApr 2
Pitman the used-car salesman
> As a point of history, Scheme predates CL. Also, as a point of history,
> Guy Steele was one of two creators of Scheme, and was the author of the
> original CL spec. It is therefore unlikely that he was not aware of Scheme.
> CL drew what it wanted from Scheme and left behind what it did not.
"CL drew what it wanted"? I didn't know that CL (COBOL-Like) was a
conscious being that had desires.
> > And Common Lisp doesn't have continuations.
> That's right. It didn't want them. They are theoretically interesting
> and no one probably knows this much better than Steele. But they are not
> the answer to all the world's problems, nor are they without baggage.
Does a feature have to be the answer to all the world's problems
in order to be worthy of inclusion? Can anyone name a single feature
that is the answer to all of the world's problems?
He's saying that when the committee designed CL (COBOL-Like) they
included all of the good features of existing Lisps and rejected
the bad ones.
There's no truth in that.
The reverse is true.
Everything about CL (COBOL-Like) is disgusting: the look of
the language, the lack of elegance, the lack of Lispiness, the
lack of support for recursion, the creatures that are its
Common LISP just was never designed to be a commercially
viable LISP. It was intended to serve as a compromise between
the manufacturers of LISP machines and other vendors of LISP
products. Never did we think of it as an industrial strength
system... So, to the extent that ANSI's ongoing efforts to
standardize on Common LISP exercise some influence over how LISP
is accepted in the world at large, I anticipate a disaster.
Common Lisp is a significantly ugly language. If Guy and I
had been locked in a room, you can bet it wouldn't have
turned out like that.
Do you really think people in 1000 years want to be
constrained by hacks that got put into the foundations of
Common Lisp because a lot of code at Symbolics depended on
it in 1988?
Daniel Weinreb, 24 Feb 2003:
Having separate "value cells" and "function cells" (to use
the "street language" way of saying it) was one of the most
unfortunate issues. We did not want to break pre-existing
programs that had a global variable named "foo" and a global
function named "foo" that were distinct. We at Symbolics
were forced to insist on this, in the face of everyone's
knowing that it was not what we would have done absent
compatibility constraints. It's hard for me to remember all
the specific things like this, but if we had had fewer
compatibility issues, I think it would have come out looking
more like Scheme in general.
Daniel Weinreb, 28 Feb 2003:
Lisp2 means that all kinds of language primitives have to
exist in two versions, or be parameterizable as to whether
they are talking about the value cell or function cell. It
makes the language bigger, and that's bad in and of itself.
Jeffrey M. Jacobs:
The CL effort resembles a bunch of spoiled children,
each insisting "include my feature or I'll pull out, and
then we'll all go down the tubes". Everybody had vested
interests, both financial and emotional.
Jeffrey M. Jacobs:
CL is a nightmare; it has effectively killed LISP
development in this country. It is not commercially viable
and has virtually no future outside of the traditional
Common Lisp did kill Lisp. Period. (just languages take a
long time dying ...) It is to Lisp what C++ is to C. A
monstrosity that totally ignores the basics of language
design, simplicity and orthogonality to begin with.
I consider Loop one of the worst flaws in CL, and an example
to be borne in mind by both macro writers and language designers.
The Generators and Collectors macros described in Appendix B
of CLtL2 also provide this convenience and are much more
Lisp-like. It's too bad they weren't around when LOOP was
gaining popularity, and I think they're a better way to go.
But LOOP is what I got used to, and its popularity is why it
got elevated into the ANSI standard.
The good news is, it's not Lisp that sucks, but Common Lisp.