Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
LISP, lore, and logic: an algebraic view of LISP programming, foundations, and applications
Stark W., Springer-Verlag New York, Inc., New York, NY, 1990. Type: Book (9789780387970721)
Date Reviewed: Sep 1 1990

In this rather unusual book, LISP is used as a hook from which to hang a number of interesting topics. The book falls somewhere between a text on programming in LISP and an introduction to computer science.

The first three chapters, “A First Look at LISP,” “Elementary Programming,” and “Deeper into Essential Structures,” introduce the core of LISP. (All the code is in Common Lisp.) The author uses lots of short pieces of code and numerous asides to convey the flavor of LISP. Chapter 4, “Computational Philosophy,” sketches the notion of a recursive function and shows how LISP is capable of computing all algorithmically definable functions. Chapter 5 describes more advanced features of LISP--support for debugging, macros, and the use of arrays and structures.

The last three chapters of the book return to the more theoretical concerns evidenced in chapter 4. Chapter 6, on algebras and interpreters, gives the usual LISP interpreter in LISP and an interesting discussion of the relationship between this kind of interpretation and the more machine-oriented interpretation in terms of the internal environment. Chapter 7 introduces the lambda calculus and shows how it can be used to represent pure LISP. The concluding chapter reviews predicate logic and gives an implementation of it in LISP. Prolog is introduced as an application of unification. The book concludes with a speculation on the nature of algebraic intelligence.

In his introduction, the author describes the intended readers as ranging from bright first-year undergraduates to practicing professionals and from computer scientists to chemists and philosophers. All of these people are likely to get something from this book, while wishing it contained more. The author clearly has a great affection for LISP and has placed it in a central location in his view of computation. This gives the book a point of view that makes it enjoyable to read. The book includes many references to sources for more detailed treatments and short anecdotal paragraphs set out in a distinctive typeface.

The code examples are well chosen to illustrate the author’s points; practically every page of the book has some small program on it. The larger programs are explained well. The reader who can learn from example is well served. Someone who needs more prescriptive guidance will find that Stark does not provide as much help. Anyone who has programmed in LISP knows that you have to have a system to keep the parentheses straight; Stark should have made his convention explicit.

The book’s organization and display make it easy to read. Code is carefully separated from the text, as is the anecdotal material referred to earlier. There is a problem with forward references; for example, “s-expression” appears for the first time on page 31 but is not defined until page 72. As I have come to expect of Springer-Verlag, the book is almost misprint-free: “HP-SOLTUION” for HP_SOLUTION on page 119 is the only typo I found, although the “planes” of Africa on page 237 are clearly supposed to be plains.

There seem to be two schools of thought on textbooks; one holds that they should be encyclopedias, while the other prefers guided tours that post signs in the territory. Stark has written a book for the latter school. He deals with most topics in sufficient depth that the reader gets their flavor; the one exception is the overbrief section on Prolog. The book conveys his enthusiasm for the subject and his own view of it well. The reader will have to supplement the book from the references and further reading suggestions that the author provides.

Reviewer:  J. P. E. Hodgson Review #: CR114479
Bookmark and Share
  Featured Reviewer  
 
Lisp (D.3.2 ... )
 
 
Lambda Calculus And Related Systems (F.4.1 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Lisp": Date
LISP
Foderaro J. Communications of the ACM 34(9): 271991. Type: Article
Dec 1 1992
Lisp systems in the 1990s
Layer D., Richardson C. Communications of the ACM 34(9): 48-57, 1991. Type: Article
Dec 1 1992
The architecture of Lisp machines
Pleszkun A., Thazhuthaveetil M. Computer 20(3): 35-44, 1987. Type: Article
Aug 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