On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also covers important subjects related to bottom-up programming, including functional programming, rapid prototyping, interactive development, and embedded languages. The final chapter takes a deeper look at object-oriented programming than previous Lisp books, showing the step-by-step construction of a working model of the Common Lisp Object System (CLOS). As well as an indispensable reference, On Lisp is a source of software. Its examples form a library of functions and macros that readers will be able to use in their own Lisp programs.
This book is intended for anyone who wants to become a better Lisp programmer. It assumes some familiarity with Lisp, but not necessarily extensive programming experience. The first few chapters contain a fair amount of review. I hope that these sections will be interesting to more experienced Lisp programmers as well, because they present familiar subjects in a new light.
It’s difficult to convey the essence of a programminglanguage in one sentence, but John Foderaro has come close – ‘Lisp is a programmable programming language.’
There is more to Lisp than this, but the ability to bend Lisp to one’s will is a large part of what distinguishes a Lisp expert from a novice. As well as writing their programs down toward the language, experienced Lisp programmers build the language up toward their programs. This book teaches how to program in the bottom-up style for which Lisp is inherently well-suited.
Quotes from Reviewers
‘The first book that really explains what Lisp is all about.’ – John Foderaro, Franz Inc.
‘On Lisp draws the reader in from the very first sentence. The author’s writing style is clear and articulate, but comfortably informal. The subject matter is important, and has not been adequately treated in previous books. The chapters on macros present important material that is virtually unique to this book. The chapter on object-oriented programming is excellent. The author builds a nice mini-CLOS to teach basic object-oriented techniques, but then wisely switches to real CLOS to cover the more advanced topics.’ – David Touretzky, Carnegie-Mellon University
‘The topics On Lisp covers are extremely useful for any seriously aspiring Lisp programmer. I think it’s a great idea to collect in one place programming techniques normally attainable only the hard way. The examples, which are plentiful and excellent, are one of the significant strengths of the book.’ – Skona Brittain, Developer of NanoLisp