- 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.