Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The death of creativity: is Common LISP a LISP-like language?
Allen J. AI Expert2 (2):48-61,1987.Type:Article
Date Reviewed: Nov 1 1987

Common LISP (CL) was recently introduced as a standard LISP dialect, but not without some controversy, exemplified by this anti-CL salvo from a well-known figure in the LISP community. Although the paper is primarily a standard tutorial on functional programming and LISP history, there is a good deal of virulent criticism directed at a number of targets. The author appears to object to commercial usage of LISP; a rather odd position for the president of a company offering LISP products. There are a number of declarations about the “LISP philosophy” that, when taken together, imply that LISP programmers interactively type in large programs for which efficiency is unimportant, then throw them away rather than transport to different hardware. (One wonders whether “large” means 1,000 lines or 100,000 lines of code.)

The most troubling aspect of this paper is its attempt to make technical issues out of political/preferential choices. For instance, the distinction between functional values and data values in CL is characterized as a “muddle”; however, the CL community understands the issues and even so remains split on whether the distinction is good or bad (or insignificant). Likewise, purported muddles relating to QUOTE and to names touch on philosophical questions with no universally accepted answers.

I should mention a serious mistake at the top of p. 57, where a compose function is defined nonsensically. One possible correct definition is the following:

  • (defun compose (f g)

  • #’(lambda (x)

  • (funcall f (funcall g x))))

The “more functional” version makes sense if it is written as follows:

  • (defun compose (f g)

  • (lambda (x) (f (g x))))

so that the variable x has a meaningful scope.

Overall, this paper is worthwhile for anyone interested in LISP, but the reader must exercise great care in sifting opinion from fact, a task made more difficult by the absence of a bibliography. (Many of the quotes are excerpted from papers given at the 1982 and 1984 LISP conferences [1,2].)

Reviewer:  S. Shebs Review #: CR111584
1) Proc. of the ACM SIGPLAN-SIGACT-SIGART symposium on LISP and functional programming (Pittsburgh, PA, Aug. 15–18, 1982), ACM, New York, 1982.
2) Proc. of the ACM SIGPLAN-SIGACT-SIGART symposium on LISP and functional programming (Austin, TX, Aug. 6–8, 1984), ACM, New York, 1984.
Bookmark and Share
 
Lisp (I.2.5 ... )
 
 
Procedures, Functions, And Subroutines (D.3.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Lisp": Date
The elements of artificial intelligence: an introduction using LISP
Tanimoto S., Computer Science Press, Inc., New York, NY, 1987. Type: Book (9789780881751130)
Oct 1 1987
LISP: a gentle introduction to symbolic computation
Touretzky D., Harper&Row Publishers, Inc., New York, NY, 1984. Type: Book (9789780060466572)
Feb 1 1985
Common LISP: the language
Guy L. J., Digital Press, Newton, MA, 1984. Type: Book (9789780932376411)
Dec 1 1988
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy