Jump to ratings and reviews
Rate this book

Practical Common Lisp

Rate this book
...it has a fresh view on the language and the examples in the later chapters are usable in your day-to-day work as a programmer. — Frank Buss, Lisp Programmer and Slashdot Contributor

If you're interested in Lisp as it relates to Python or Perl, and want to learn through doing rather than watching, Practical Common Lisp is an excellent entry point. — Chris McAvoy, Chicago Python Users Group

Lisp is often thought of as an academic language, but it need not be. This is the first book that introduces Lisp as a language for the real world.
Practical Common Lisp presents a thorough introduction to Common Lisp, providing you with an overall understanding of the language features and how they work. Over a third of the book is devoted to practical examples such as the core of a spam filter and a web application for browsing MP3s and streaming them via the Shoutcast protocol to any standard MP3 client software (e.g., iTunes, XMMS, or WinAmp). In other "practical" chapters, author Peter Seibel demonstrates how to build a simple but flexible in-memory database, how to parse binary files, and how to build a unit test framework in 26 lines of code.

526 pages, Hardcover

First published January 1, 2005

109 people are currently reading
860 people want to read

About the author

Peter Seibel

7 books33 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
320 (40%)
4 stars
311 (39%)
3 stars
124 (15%)
2 stars
28 (3%)
1 star
8 (1%)
Displaying 1 - 25 of 25 reviews
Profile Image for Huang Wei.
5 reviews2 followers
February 10, 2011
Finished the first 11 chapters.
Generally speaking, I prefer scheme's syntax than common lisp's. It would be more fun to code in scheme.

However, this book is worth reading for a better understanding of common lisp. I enjoy its practical materials.
A preparation for reading PG's On Lisp.

I'll finish the rest later this year. Apparently, I have a more much important project to do, and I'm not going to use CL for it, at least now.
Profile Image for Yuri Karabatov.
Author 1 book24 followers
November 25, 2021
Starts gently like the “Gentle Introduction to Symbolic Computation,” but after introducing some necessary language constructs quickly moves into more practical territory. The book has no exercises, and I've read it without running the associated code, so the final quarter of the book was challenging to understand.

I liked that code is developed gradually, and the reasons for every addition are clearly explained, so that they don't come out of nowhere. When introducing new concepts, Seibel also often shows how to implement a simpler version first using the knowledge already available to the reader.

Indeed, a practical and proven book that I'm glad to have in paper—I'm sure I'll refer to it again and again.
Profile Image for Michael.
163 reviews73 followers
November 20, 2010
I started this book several times, but always abandoned it after a couple of chapters. This time I decided I won't give up, and am quite happy I finally finished it.

While I find a lot of the examples rather boring (I guess in 2010 streaming MP3 just isn't so hot anymore), they are good examples of practical CL code, like the title promises.

The writing style is engaging enough and Seibel makes sure to always include background information and links for further reading, which I very much appreciate.

Definitely a good intro to Common Lisp, with lots of working code that actually does something.
Profile Image for TK Keanini.
305 reviews76 followers
October 12, 2008
By far the best book on the topic. I wish more books were written in this manner. It is not just a reference, it goes in to why things are the way they are and that appeals to me.

Everyone has taken a LISP course one in their lives? I bet that if you took this book first, you would still be using it.

If your world is full of graphs, as opposed to tables, LISP is just so beautiful.
14 reviews1 follower
November 19, 2013
I read most of this book and skimmed some of the latter part, but found it excellent. A real eye-opener to what Common LISP is really all about. Actually a very powerful language that I would enjoy trying, though I'm learning Clojure right now instead. This is a well-written description of all the language has to offer.
Profile Image for Web Worms.
2 reviews1 follower
January 5, 2013
One of the clearest books on programming with LISP and indeed dynamic programming in general. This is one in a thousand, definitely worth reading even if you are not at all into LISP and (yet) into functional programming.
Profile Image for Marco Bitetto.
Author 32 books8 followers
September 1, 2015
I personally found this book a disappointment...
With all the reviews and high ratings of this
book, it really did not live up to all the hype.
For readers that truly want to learn the Common
LISP programming language, I would recommend the
Touretsky, "Common LISP: A Gentle Introduction".
23 reviews
June 24, 2009
Pretty cool. Made me feel nostalgic.
Profile Image for Xabi.
44 reviews3 followers
October 17, 2021
For a seasoned developer looking to learn some Common LISP, this might be the best entry point to get up to grips with the language and grok enough of its concepts to be productive in a relatively short period of time.

Unlike other references that skip some of the more advanced topics like CLOS or baroque uses of the LOOP macro, this book does not shy away from going into detail and explaining how things work under the hood. And there's even more in the footnotes if you're interested in the specific intricacies or quirks of some feature.

FWIW I never managed to read this in one sitting, or even sequentially. For people who know other LISP dialects or are familiar with programming concepts, this work is still useful as a quick reference for looking things up.
Profile Image for Arun.
211 reviews66 followers
October 5, 2020
Intermediate book on Common LISP. Covers all the topics that is needed for using this language to accomplish practical needs of constructing software. Free copy available on authors website. No exercises but all the code listings mentioned in the book can be downloaded from the website.
Profile Image for Andrew Lang.
67 reviews
September 30, 2024
A great introduction to understanding the world of Common Lisp. Although sometimes dry, this book did a really good job of demystifying the language for me, and making me aware of many of the myriad of features that it contains.
Profile Image for Aleksei.
46 reviews
August 11, 2022
Works well if you want to "feel" how to do the stuff in CL way: DSLs, CLOS, multimethods, macros those produce new macros.
Profile Image for Gaelan D'costa.
203 reviews14 followers
November 14, 2020
I thought it was a pretty great book on Lisp, although it's hard to distinguish how much of this is from the elegance of the language itself, my understanding of computer languages in an abstract sense, or the writer's ability to put together a sticky and comprehensive tutorial.

I certainly didn't feel like this book went overlong, as many tutorials so. Every chapter felt really short, and explained everything relatively tersely. The author seemed happy to talk about theory and esoteric concerns in the footnotes, which I chose to read and sometimes become overwhelmed by, but this was an option I had.

While the book is organized well as a primer, it is somewhat overwhelming in that functions are just thrown at you in related groups for each chapter. Having read through this book once has taught me the basics of the language but hasn't necessarily taught me how to *think* in LISP (the way Land of LISP: Learn to Program in LISP, One Game at a Time! seems to be approaching it. That being said, when I finally say "I should really get familiar with doing X in Lisp" I will probably know exactly where in PCL to look. I have a feeling that every primary feature of Lisp is touched upon in the book, it's just a matter of retaining it and perhaps understanding the context.

It's hard for me to gauge because I have programming languages (including functional ones like Scheme) under my belt already, but if you want to learn Common Lisp I'd definitely pick up this book as one of my first. I wouldn't sweat comprehending it too much, but it would at least give me an overall view of the terrain before I went into books like Land of Lisp or other books on functional programming before coming back and constantly referencing this book as I was getting my sea legs going.
Profile Image for Dmitry Petrov.
10 reviews2 followers
May 29, 2016
Every software developer evolves during his career and that can be done by several ways, which are not
really conflicting but it's possible to get better with any of them not all. Some people prefer
to stick to one language and use it to build bigger systems or implement more and more complex algorithms,
but it somewhat limits their ability to see if there are better ways to solve problems. Language defines
thinking and it's true not only about natural languages but also about programming ones.

Doing programming on the daily basis I'm always fascinated how different the expressiveness of the different
languages is and lisp family can be treated as the most expressive one and one of the reasons is that
it's one of few families where software is created not only by writing modules or packages but also by
shaping language syntax to fit best to task at hand.

This book provides an excellent overview to Common Lisp language starting from basic constract and going
foreward with real world examples and more complex things like macroses. This miracle is really worth looking
at especially if you're coming from the language that is not designed to be extensible. I especially liked
who naturally author used macros applicationin the examples he provides.

The bit of disappointment for me was when I got the understanding the scale of legacy Common Lisp has in it's
standrad labrary as well as in the development process, package management etc. In comparison clojure is designed
perfectly including basic structures, concurrency support and standard library and common lisp community virtually
does not exist if you comparing volume of things happening in clojure world. Nevertheless, I think it's
worth digging into the language and see on what can be done with it nawadays and this book is an excellent guide
to do it.
Profile Image for Tripp Lilley.
8 reviews1 follower
November 6, 2011
Even if you haven't done, and don't plan to do, any lisping, you should definitely read this book. It didn't change my life, but it definitely helped refine some of my reflections on languages and code craft. It's amazing how much of Lisp's legacy is in the languages we use, how little we realize it, and how difficult it is to articulate the missing pieces, at least until you experience Lisp, practically.

This book made me a better programmer, and is leading me into exploring more of Clojure, the "no body ever got fired for deploying on the JVM" Lisp.
Profile Image for Joan.
13 reviews8 followers
March 5, 2013
I don't feel that this is the right book if you are new to lisp.

If you are completely new to lisp my advice is to go start with scheme. The little schemer and the rest, or if you really want to learn common lisp take another one that goes deeper into the language.

On the other hand if you are already familiar with lisp and you want to see what common lisp can do in a practical way this is your book, though sometimes it gets a bit boring in a "reference way", just throwing facts at you.

I will keep it as a reference.
34 reviews3 followers
May 2, 2012
This is one of the better learn-a-language programming books I've seen. Seibel doesn't shy away from showing you the hard stuff, and emphasizes what's different about CL. You don't come away feeling like you need a more advanced book to teach you how to really be productive the way pretty much every Smalltalk book makes you feel (for example). It's in-depth without making you wade through reams of listings.
Profile Image for Noah Sussman.
12 reviews6 followers
Want to read
February 19, 2008
So far I downloaded LispWorks did most of the first chapter of PCL. I got as far as building a CD database in 20 lines. With interactive input. And the ability to save and re-load data. In about 20 lines.
3 reviews2 followers
Want to read
October 4, 2011
Читал неоконченный перевод на русский язык, собираюсь перечитать.
Profile Image for Delyan Angelov.
1 review1 follower
December 10, 2016
Impressive concepts and accessible implementations.
Highly recommended for every programmer !!!
Profile Image for Brody.
100 reviews
July 27, 2013
Lots about the 'what', not enough about the 'why.'
19 reviews3 followers
Read
May 13, 2019
So I have finished reading this book. The last sections were not that interesting. What I have enjoyed the most are the explanations about CLOS, the conditions and restarts, and the recommendations for further reading in the last chapter. I now understand why Common Lisp is not really a success. From the start, it didn't know what it wants to become: a Lisp compatible with as much as possible of previous Lisps? A Lisp which is good enough to be usable for real-world applications? A Lisp that includes as much as possible of esoteric constructs? In the end all of these played a role in the final product and in the end it's not a very consistent language. Well, at least I know that if I need to use a Lisp, it's better to use Scheme, because it's consistent, the authors really made something they believe makes sense, and it doesn't have things like LOOP. By the way, what I have written is only part of my opinion at the present date. First I don't have time to write my opinion in full, and second, my opinion changes all the time, so if I have to write something similar tomorrow it would certainly contradict with what I think today. Nevertheless I'm ready to discuss its contents and hear opinions of other people.
Displaying 1 - 25 of 25 reviews

Can't find what you're looking for?

Get help and learn more about the design.