https://cse.buffalo.edu/~shapiro/Commonlisp/
This book is out of print. The publisher has returned the copyright and
rights to me, the author. I am making it available here in pdf, and dvi
formats, and in two versions of ps format, a heavier font and a finer font,
under the following conditions: hardcopies must retain the title and
copyright pages; web links must point to this page rather than to a separate
copy of the dvi, ps, or pdf file; quotes and other copies of material in the
book, including programs, must include the citation: "Stuart C. Shapiro,
COMMON LISP: An Interactive Approach. W. H. Freeman, New York, 1992."
A Baker’s Dozen of Reasons to Adopt Common Lisp: An Interactive Approach by
Stuart C. Shapiro
- Contains many sample interactions to illustrate the material in the text,
helping students know what to expect when they experiment on their own.
- Introduces pure Lisp before imperative Lisp to give students a familiarity
with the functional approach and to help develop a balanced programming
style.
- Labels each exercise as either review, instruction, drill, utility, or
part of one of the extended programming projects, so that an intelligent
choice can be made when only selected exercises are to be done.
- Presents coverage of packages early in Chapter 7, and then uses packages
consistently and frequently. From Chapter 7 on, every set of exercises
utilizes a different package for thorough student familiarity.
- Carefully distinguishes S-expressions from forms beginning with the first
chapter and consistently throughout.
- Discusses the important Common Lisp types: numbers (integers, floating
point numbers, and ratios), strings, characters, symbols, packages, lists,
conses, functions, hash tables, and single dimensional arrays.
- Provides two chapters on the Common Lisp Object System (CLOS) to introduce
students to object-oriented programming.
- Introduces check-type in Chapter 16 and uses it consistently afterwards to
help students ensure that the objects passed to a function are of the
correct type.
- Views the documentation string as a required part of a function
definition.
- Uses first and rest instead of car and cdr, eql instead of eq, and setf
instead of setq to correspond with modern Common Lisp.
- Contains solutions to about one-third of the programming exercises in
Appendix A.
- Includes a Common Lisp reference manual that documents all the Common
Lisp functions, macros, and special forms introcuced in the text.
- An Instructor’s Guide, available free upon adoption, presents chapter
objectives and solutions to all programming exercises.