Awesome Common Lisp Learning Awesome

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: - Libraries - Curated Libraries - Forked and updated from the above list. - Software

Contributions are welcome. Please read the contribution guidelines for details.

Contents

How To Use

  1. Get a Lisp environment.
  2. Bookmark the The Common Lisp Hyperspec.
  3. 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.
  4. Try out Exercism.
  5. If you get stuck, find an online community and ask smart questions.
  6. Learn about Quicklisp.
  7. 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 - Articulate Common Lisp - A HOWTO for putting together a Lisp environment, and has information on useful libraries and how to structure projects. - If you're an experienced Emacs user, you can just install SLIME and a supported Common Lisp implementation. See the SLIME manual for more details. - The Common Lisp Cookbook has more information about installing an implementation using an implementation manager like Roswell, or on Docker.

Online References