B. Pym
4 months ago
(let ((x 5))
(mapcar (function (lambda (y) (+ x y)))
'(3 5 7)))
==> (8 10 12)
Programmers who are human get tired of typing and seeing(mapcar (function (lambda (y) (+ x y)))
'(3 5 7)))
==> (8 10 12)
"(lambda" as an indication of an anonymous function. They
wish that something shorter like "(fn" could be used.
However, disciples of CL are willing and eager to make it even
longer by putting "(functon" in front of it---despite the fact
that doing so is a pleonasm; "lambda" is a macro that expands
to "(function (lambda".
CL lickspittles always try to make their code as ugly
and bloated as possible.
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.
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
academic/defense/research arena.
Bernard Lang:
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.