Previous: Third-party Libraries, Up: More Common Lisp Information

#### 2.6.3 Common Lisp Books

If you're not a programmer and you're trying to learn, many introductory Lisp books are available. However, we don't have any standout favorites. If you can't decide, try checking the Usenet news://comp.lang.lisp FAQ for recent recommendations.

If you are an experienced programmer in other languages but need to learn about Common Lisp, some books stand out:

Practical Common Lisp, by Peter Seibel
  An excellent introduction to the language, covering both the basics and “advanced topics” like macros, CLOS, and packages. Available both in print format and on the web: http://www.gigamonkeys.com/book/.
Paradigms Of Artificial Intelligence Programming, by Peter Norvig
  Good information on general Common Lisp programming, and many nontrivial examples. Whether or not your work is AI, it's a very good book to look at.
On Lisp, by Paul Graham
  An in-depth treatment of macros, but not recommended as a first Common Lisp book, since it is slightly pre-ANSI so you need to be on your guard against non-standard usages, and since it doesn't really even try to cover the language as a whole, focusing solely on macros. Downloadable from http://www.paulgraham.com/onlisp.html.
Object-Oriented Programming In Common Lisp, by Sonya Keene
  With the exception of Practical Common Lisp most introductory books don't emphasize CLOS. This one does. Even if you're very knowledgeable about object oriented programming in the abstract, it's worth looking at this book if you want to do any OO in Common Lisp. Some abstractions in CLOS (especially multiple dispatch) go beyond anything you'll see in most OO systems, and there are a number of lesser differences as well. This book tends to help with the culture shock.
Art Of Metaobject Programming, by Gregor Kiczales et al.
  Currently to prime source of information on the Common Lisp Metaobject Protocol, which is supported by SBCL. Section 2 (Chapers 5 and 6) are freely available at http://www.lisp.org/mop/.