Awesome Common Lisp Learning
This list focuses on resources for learning Common Lisp, especially resources that I’ve found useful.
There are other Awesome Common Lisp lists that focus on other topics:
Contributions are welcome. Please read the contribution guidelines for details.
Contents
How To Use
- Get a Lisp environment.
- Bookmark the The Common Lisp Hyperspec.
- Download and work through a Lisp book of an appropriate level. Type the examples and play with the code. Feel free to switch books and try a different one.
- Try out Exercism.
- If you get stuck, find an online community and ask smart questions.
- Learn about Quicklisp.
- At some point, read your Lisp implementation’s manual.
Lisp Environments
You can run a Lisp implementation directly, but an editing environment makes the experience easier.
- Prepackaged environments
-
Portacle - A portable and multiplatform Common Lisp environment. It ships a slightly customized Emacs with SLIME, SBCL (a popular Common Lisp implementation), Quicklisp and Git. No installation needed, so it’s a very quick and easy way to get going.
-
Lispbox - An IDE (Emacs + SLIME), Common Lisp implementation (Clozure Common Lisp) and library manager (Quicklisp), pre-packaged as archives for Windows, macOS and Linux. Descendant of “Lisp in a Box” mentioned in Practical Common Lisp.
-
Lispworks Personal Edition - A non-Emacs based IDE for LispWorks Lisp, with some restrictions.
-
Allegro Common Lisp - Has a free Express Edition IDE, and training videos on YouTube.
- For advanced users
Online References
Online Books
These books that are freely accessible online, arranged roughly in order from basic to advanced:
Offline Books
These are books that you’ll have to buy, or borrow from a library.
-
Land of Lisp by Conrad Barski, MD - A fun introduction to Lisp that uses comics and has you writing games.
- Available as an ebook.
- A couple of the LOOP macros are written
for x for y...
which you can change to for x from 0 for y...
to make them work in SBCL.
- Has an errata page.
- Most of the book is entertaining and fairly easy, but gets hairy from about Chapter 18. It doesn’t feel like later chapters introduce much, so I recommend switching to a different book at that point.
- The Web server example in Ch 13, 19 and 20 will only work on CLISP, and needs the addition of HTTP response headers to render the HTML properly.
-
ANSI Common Lisp by Paul Graham - Good as a reference, covers CLOS, and has several example program implementations.
-
Common Lisp Recipes by Edmund Weitz - A great set of Common Lisp patterns.
-
Object-Oriented Programming in Common Lisp by Sonya E. Keene - An in-depth description of the CLOS, and shows how to use it with example applications.
-
The Art of the Metaobject Protocol by Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow - Describes the CLOS Metaobject Protocol (MOP).
Library Management
These aren’t libraries, but can help you find and install other libraries.
Common Lisp Implementations
This section lists some common CL implementations and their manuals in alphabetical order. Unless otherwise noted, these are free software implementations. See also the Cliki’s list of free software Common Lisp Implementations.
Credit
I got a lot of the information from Rainer Joswig’s Stack Overflow answer on learning Common Lisp, and from the now-defunct Stack Overflow Documents site. The Cliki’s Getting Started page was also invaluable.