Two important newer Common Lisp books worth mentioning:
- Common Lisp Recipes - http://weitz.de/cl-recipes/ - the de-facto go-to book on practical Common Lisp usage, for people with at least basic familiarity with the language.
- Land of Lisp - http://landoflisp.com/ - introduction to CL + overview of some more distinct aspects of other Lisps (often portable to CL as a library), teaching by means of writing small games; quite... peculiar.
Also, if someone wants to start with Common Lisp, then Practical Common Lisp (PCL) is usually the book for it. The entire book is available on-line for free: http://www.gigamonkeys.com/book/.
I'm not sure it should really count as a "Lisp book", but The Art of the Metaobject Protocol" is one of my favorite technical books ever.
It takes some knocks for not really containing anything about how to use CLOS. Instead, it's how CLOS is built. At a higher level, it's "how to build an object-oriented language/object system from scratch" using Lisp as a vehicle.
Richard P Gabriel was one of the six persons responsible for the CLOS specification: Daniel G. Bobrow, Linda G. DeMichiel, Richard P. Gabriel, Sonya E. Keene, Gregor Kiczales, and David A. Moon.
Richard was also the CEO and founder of Lucid, Inc. - a Common Lisp vendor. His company developed and sold a production quality Common Lisp implementation for various UNIX systems.
Further, I think it should be emphasized how much there is to CLOS. I've seen a number of CLOS tutorials that stop after showing how to do in CLOS what can be done in other OO languages, and don't really indicate how much more there is, let alone show how to do those things. Keene's book does go in to this. There are a few very minor differences between what she describes and what is in the final standard though.
I think the Keene book should be avoided by all means. I don't think it is a good introduction into OOP or CLOS. My recommendation would be Peter Seibels Practical Common Lisp.
I always found "Lisp in small pieces" extremely heavy to read. It's not the content per se but I find the writing style baroque to say the least . I attempted to read it twice and never went further than the 2nd chapter. Am I the only one?
Instead I found PAIP the best introduction to Lisp for somebody that has already (plenty of ) experience with other languages. The introduction to the language is concise and smooth. I liked much only the chapters on the language though. The chapters on AI are too much outdated for me to find them entertaining even if the Lisp code is pedagogical for sure.
I didn't like OnLisp at all: the book wastes too much words on saying how much Lisp is great and the best thing in the universe rather than going straight to the point. I don't like this kind of style at all.
I found Practical Common Lisp too slow for my taste and would reccomend it only to a beginner.
For me the quickest way to learn Lisp for an experienced sw engineer is to start with PAIP reading only the first 4 chapters about the language and then to jump straight to a good reference guide such as "Common Lisp the Language, 2nd Edition"
Also I suggest anybody that is interested in CL to have at least a look at Julia. Since the relese of Revise.jl the interactivity of the REPL is second only to Smalltalk and CL but multithreading support is consistent amongst all platforms and the library ecosystem is already interesting. The language has a lot of momentum, is rapidly evolving and the community is small but helpful.
I have been working through the examples and exercises in Paradigms of Artificial Intelligence Programming by Peter Norvig, the full text is available online, all code discussed in the book is LISP https://github.com/norvig/paip-lisp
The author on occasion also publishes a journal about " the Lisp family of programming languages and little-languages in general", which is worth a look.
Around the second chapter I was so amazed by the book that instead of reading it further I translated it into Russian, got the Professor's blessings, and to this day it warms my heart every time I see a new star on the repo.
It's definitely a good introductory piece on Lisp history and its central ideas as well as on language runtimes and implementations.
- Common Lisp Recipes - http://weitz.de/cl-recipes/ - the de-facto go-to book on practical Common Lisp usage, for people with at least basic familiarity with the language.
- Land of Lisp - http://landoflisp.com/ - introduction to CL + overview of some more distinct aspects of other Lisps (often portable to CL as a library), teaching by means of writing small games; quite... peculiar.
Also, if someone wants to start with Common Lisp, then Practical Common Lisp (PCL) is usually the book for it. The entire book is available on-line for free: http://www.gigamonkeys.com/book/.