Lisp (book)

LISP is a university textbook on the Lisp programming language, written by Patrick Henry Winston and Berthold Klaus Paul Horn. It was first published in 1981, and the third edition of the book was released in 1989. The book is intended to introduce the Lisp programming language and its applications.

Editions
Three editions were published in 1981, 1984, and 1989 respectively. The first edition replaced part 2 in the first edition of Artificial Intelligence (Winston), and introduced the use of Maclisp, along with an appendix for Interlisp users. The second edition introduced Common Lisp and Flavors. The third edition added the Common Lisp Object System, along with improved procedure definitions, and added topics.

Content
LISP covers the basics of the language using the Common Lisp standard including the Common Lisp Object System (CLOS). Applications are drawn from expert systems, natural language interfaces, symbolic mathematics, probability bounds, project simulation, and visual object recognition. Problem solving paradigms including search, forward chaining, and problem reduction are explained. Constraint propagation, and backward chaining are discussed. Other topics include mapping, streams, and delayed evaluation.

Reception
In Computers and the Humanities Volume 17, No. 1 (1983), The first edition of LISP was reviewed by Denis L. Baggi. He credited the books organization, progression and the part two practical implementations, but questioned the use of Maclisp for the examples. Standard Lisp (created for the Reduce computer algebra system) was suggested as a better choice.

Daniel Weinreb reviewed the 2nd edition for ACM SIGPLAN Lisp Pointers. He noted significant improvements in the example code, facilitated by the use of Common Lisp, instead of being limited to the lowest common denominator code, driven by the diverse Lisp dialects of the past. He highlighted the quality of book design and example code presentation, saying the text was clear and well-organized. He recommended that users of the book have a firm grounding in some programming language, or be willing to put in extra effort. The code examples were highlighted as being the strength of the book, being small enough to understand, but large enough to illustrate and motivate important techniques in symbolic programming.

In a 1993 review of Artificial Intelligence (Winston) by Doris Appleby, the 1989 edition of LISP was reviewed in its role as a companion reference. Appleby found the book worked best as a text when a technique was described, followed by a toy system, then a commercial application. Backward chaining, Zookeeper, and MYCIN were mentioned as examples. The supplied sample code for rule-based systems, and version space learning was highlighted as supporting the text quite well.

In Paradigms of AI Programming, Peter Norvig suggested a number of introductory Lisp textbooks. LISP was highlighted as covering the most ground in terms of programming advice, with the caveat that it may be difficult for beginners. Cited subject areas included pattern matching, logic programming, and Lisp interpreter development.