awesome-common-lisp-learning
A curated list of awesome Common Lisp learning resources
https://github.com/GustavBertram/awesome-common-lisp-learning
Last synced: 25 days ago
JSON representation
Common Lisp Implementations
- Allegro Common Lisp (ACL) - Commercial, but has a free Express Edition.
- free software Common Lisp Implementations
- ACL manual
- Training videos on YouTube
- CLISP Manual
- Clozure Common Lisp (CCL)
- CCL manual
- Carnegie Mellon University Common Lisp (CMUCL)
- CMUCL manual and other useful information
- Embeddable Common Lisp (ECL)
- ECL manual
- LispWorks - Commercial, but as mentioned previously, has a Personal Edition with minor limitations.
- LispWorks manual
- Steel Bank Common Lisp (SBCL) - My personal favorite.
- SBCL manual
- Scieneer Common Lisp (SCL) - A commercial Linux and Unix implementation, but has an unrestricted free evaluation and non-commercial use version.
- SCL manual
- Embeddable Common Lisp (ECL)
- SBCL manual
- Scieneer Common Lisp (SCL) - A commercial Linux and Unix implementation, but has an unrestricted free evaluation and non-commercial use version.
- SCL manual
- Clozure Common Lisp (CCL)
- CLISP
Credit
- Rainer Joswig's Stack Overflow answer on learning Common Lisp - defunct Stack Overflow Documents site. The Cliki's Getting Started page was also invaluable.
- Rainer Joswig's Stack Overflow answer on learning Common Lisp - defunct Stack Overflow Documents site. The Cliki's Getting Started page was also invaluable.
How To Use
Library Management
- Quickdocs - Documentation for projects in Quicklisp.
- State of the Common Lisp Ecosystem, 2015 - Article about what libraries you should use, and why.
- Articulate Common Lisp - Lists some useful libraries.
- Articulate Common Lisp - Lists some useful libraries.
Lisp Environments
- 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.
- Articulate Common Lisp - A HOWTO for putting together a Lisp environment, and has information on useful libraries and how to structure projects.
- Emacs - lisp.net/project/slime/) and a supported Common Lisp implementation. See the SLIME manual for more details.
- installing an implementation
- 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.
- Articulate Common Lisp - A HOWTO for putting together a Lisp environment, and has information on useful libraries and how to structure projects.
Offline Books
- ebook
- errata page
- ANSI Common Lisp by Paul Graham - Good as a reference, covers CLOS, and has several example program implementations.
- Chapter 1
- 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).
- Chapters 5 and 6 (available online) - The specification of a metaobject protocol extension to CLOS, by Robert Strandh.
- modern public domain CLOS MOP specification - Philippe Paradis (Hexstream).
- Adam Tornhill on AMOP - Recommends reading Practical Common Lisp, then Object-Oriented Programming in Common Lisp, and then AMOP.
- Chapter 1
- errata page
- Chapters 5 and 6 (available online) - The specification of a metaobject protocol extension to CLOS, by Robert Strandh.
- Adam Tornhill on AMOP - Recommends reading Practical Common Lisp, then Object-Oriented Programming in Common Lisp, and then AMOP.
- The Art of the Metaobject Protocol by Gregor Kiczales, Jim des Rivieres, and Daniel G. Bobrow - Describes the CLOS Metaobject Protocol (MOP).
- Land of Lisp by Conrad Barski, MD - A fun introduction to Lisp that uses comics and has you writing games.
Online Books
- Common Lisp: A Gentle Introduction to Symbolic Computation by David S. Touretzky - a good introduction for people new to programming. Contains code for really useful utilities like DTRACE and SDRAW.
- Common Lisp: An interactive approach by Stuart C. Shapiro - A textbook that teaches mainly through the use of exercises.
- Practical Common Lisp by Peter Seibel - A great introduction for experienced programmers, and tries to highlight from the very beginning what makes CL different to other languages.
- On Lisp by Paul Graham - A great book for intermediately experienced Lispers.
- Let Over Lambda by Doug Hoyte - An advanced book on Lisp Macros.
- Comments on Let Over Lambda - Several people recommend that you be comfortable with On Lisp before reading this book, and that the start is slow.
- The chapter on closures - Has several non-trivial examples, and demonstrates the power of this feature.
- Common Lisp: A Gentle Introduction to Symbolic Computation by David S. Touretzky - a good introduction for people new to programming. Contains code for really useful utilities like DTRACE and SDRAW.
- Common Lisp Koans - Not exactly a book, but a set of koans to help you learn the language.
- Paradigms of Artificial Intelligence Programming by Peter Norvig - Has many interesting applications of Lisp, but is no longer a good reference for AI.
- On Lisp by Paul Graham - A great book for intermediately experienced Lispers.
- Let Over Lambda by Doug Hoyte - An advanced book on Lisp Macros.
Online Community
- Exercism's Common Lisp track - An excellent way to learn the language through practice, have your code reviewed, and to discuss solutions with other people.
- Cliki - The Common Lisp Wiki. A great resource for all things CL. Has a great Getting Started page and an extensive list of Lisp books.
- other rooms
- Lisp Subreddit - An active community, and has loads of useful links and reference documents in the sidebar.
- Common Lisp Subreddit - The Subreddit for Common Lisp.
- Lisp Discord server - Is a Discord for Lisp. Has a channel dedicated to Common Lisp and will happily answer questions.
- Cliki - The Common Lisp Wiki. A great resource for all things CL. Has a great Getting Started page and an extensive list of Lisp books.
Online References
- The Common Lisp Hyperspec (CLHS) - The language reference document for Common Lisp. Bookmark it now.
- Chapter 7 - Covers the Common Lisp Object System (CLOS).
- Common Lisp the Language (2nd Edition) by Guy L. Steele - A description of the Common Lisp language from just before it was standardized by ANSI. Don't use it as a reference.
- Cliki on CLtL2 - Claims it has more useful descriptions of LOOP and FORMAT than the CLHS does.
- Stack Overflow on CLtL2 - Some recommend using CLtL2 for insight and inspiration, but to use the CLHS when programming.
- A list of differences between CLtL2 and the ANSI Common Lisp specification.
- Chapter 28 - Covers the Common Lisp Object System.
- The Common Lisp Cookbook - A list of useful Lisp recipes. Also contains a list of other online sources of CL information.
- The ANSI Common Lisp Standard Draft - The last draft version of the ANSI INCITS 226-1994 (previously ANSI X3.226-1994) standard.
Uncategorized
Uncategorized
- Libraries
- Curated Libraries - Forked and updated from the above list.
- Software