Practical Common Lisp

that book is dead sexy —Xach on #lisp

(more blurbs)

This page, and the pages it links to, contain text of the Common Lisp book Practical Common Lisp published by Apress These pages now contain the final text as it appears in the book. If you find errors in these pages, please send email to These pages will remain online in perpetuity—I hope they will serve as a useful introduction to Common Lisp for folks who are curious about Lisp but maybe not yet curious enough to shell out big bucks for a dead-tree book and a good Common Lisp tutorial for folks who want to get down to real coding right away. However, don't let that stop you from buying the printed version available from Apress at your favorite local or online bookseller. For the complete bookstore browsing experience, you can read the letter to the reader that appears on the back cover of the treeware edition of the book.

Coders at Work out!

My new book, Coders at Work, a collection of Q&A interviews with fifteen all-time great programmers and computer scientists, is out and available from Amazon, Barnes & Noble, Powell's, other fine booksellers near you and as an eBook from Apress.

Buy Practical Common Lisp now

Amazon | Powells | Barnes & Noble

Download source code: tar.gz | zip

Spread the word

Like what you've read? Then help spread the word. Recommend this book to your friends. Write a review on Amazon. Blog about it. Link to this page from your web site. Whatever. Apress took a chance, publishing this book when other publishers thought there was no market for a Lisp book. While it's unlikely that I'll get rich off my royalties, we don't have to sell all that many copies for Apress to turn a profit and show the naysayers that Lisp has legs yet.

  1. Introduction: Why Lisp?
  2. Lather, Rinse, Repeat: A Tour of the REPL
  3. Practical: A Simple Database
  4. Syntax and Semantics
  5. Functions
  6. Variables
  7. Macros: Standard Control Constructs
  8. Macros: Defining Your Own
  9. Practical: Building a Unit Test Framework
  10. Numbers, Characters, and Strings
  11. Collections
  12. They Called It LISP for a Reason: List Processing
  13. Beyond Lists: Other Uses for Cons Cells
  14. Files and File I/O
  15. Practical: A Portable Pathname Library
  16. Object Reorientation: Generic Functions
  17. Object Reorientation: Classes
  18. A Few FORMAT Recipes
  19. Beyond Exception Handling: Conditions and Restarts
  20. The Special Operators
  21. Programming in the Large: Packages and Symbols
  22. LOOP for Black Belts
  23. Practical: A Spam Filter
  24. Practical: Parsing Binary Files
  25. Practical: An ID3 Parser
  26. Practical: Web Programming with AllegroServe
  27. Practical: An MP3 Database
  28. Practical: A Shoutcast Server
  29. Practical: An MP3 Browser
  30. Practical: An HTML Generation Library, the Interpreter
  31. Practical: An HTML Generation Library, the Compiler
  32. Conclusion: What's Next?