本书适用于那些想更上一层楼的 Lisp 程序员。书中假设读者已经初步了解 Lisp, 但不要求有丰富的编程经验。最初几章里会重温很多基础知识。我希望这些章节也会让有经验的Lisp 程序员感兴趣, 因为它们以崭新的视角展示了熟知的主题。
通常很难一语道清一门编程语言的精髓, 但 John Foderato 的话已经很贴切了:
Lisp 是一门可编程的编程语言。
(Lisp is a programmable programming language.)
这难免以偏概全, 但这种让 Lisp 随心而变的能力, 在很大程度上正是 Lisp 专家和新手的不同之处。在自上而下, 把程序逐渐具体化, 用编程语言实现设计的同时, 资深的 Lisp 程序员也实践着自底向上的方法, 他们通过创建语言来描述程序的行为。本书教授自底向上编写程序的方法, 因为这是 Lisp 与生俱来的强项。