Cookbook, n. a book containing recipes and other information about the preparation and cooking of food.
A Cookbook is an invaluable resource, as it shows how to do various things in a clear fashion without all the theoretical context. Sometimes you just need to look things up. While cookbooks can never replace proper documentation such as the HyperSpec or books such as Practical Common Lisp, every language deserves a good cookbook, Common Lisp included.
The CL Cookbook aims to tackle all sort of topics, for the beginner and for the more advanced developer.
Content
Getting started
- License
- Getting started
- How to install a Common Lisp implementation
- How to start a Lisp REPL
- How to install third-party libraries with Quicklisp
- How to work with projects
- Editor support
Language basics
- Functions
- Data Structures
- Strings
- Numbers
- NEW! ⭐ Equality
- Loops, iteration, mapping
- Multidimensional Arrays
- Dates and Times
- Pattern Matching
- Input/Output
- Files and Directories
- CLOS (the Common Lisp Object System)
Advanced topics
- Packages
- Defining Systems
- Error and condition handling
- Debugging
- Macros and Backquote
- Type System
- Concurrency and Parallelism
- Performance Tuning
- Testing and Continuous Integration
- Scripting. Building executables
- Miscellaneous
Outside world
- Interfacing with your OS
- Databases
- Foreign Function Interfaces
- NEW! ⭐ Building Dynamic Libraries
- GUI programming
- Sockets
- WebSockets
- Web development
- Web Scraping
- Using the Win32 API
Download in EPUB
The Cookbook is also available in EPUB (and PDF) format.
You can download it directly in EPUB and PDF, and you can pay what you want to further support its development:
Donate and download the EPUB version
Thank you!
Translations
The Cookbook has been translated to:
Other CL Resources
- lisp-lang.org: success stories, tutorials and style guide
- Awesome-cl, a curated list of libraries
- List of Lisp Communities
- Lisp Koans - a language learning exercise, which guides the learner progressively through many language features.
- Learn X in Y minutes - Where X = Common Lisp - Small Common Lisp tutorial covering the essentials.
- Common Lisp Libraries Read the Docs - the documentation of popular libraries ported to the modern and good looking Read The Docs style.
- lisp-tips
- Common Lisp and CLOG tutorial series, a tutorial for Common Lisp and CLOG, a GUI-like library for Common Lisp based on web technologies.
- Lisp and Elements of Style by Nick Levine
- Pascal Costanza’s Highly Opinionated Guide to Lisp
- Cliki, Common Lisp’s wiki
- 📹 Common Lisp programming: from novice to effective developer, a video course on the Udemy platform (paywall), by one of the main Cookbook contributor. “Thanks for supporting my work on Udemy. You can ask me for a free coupon if you are a student.” vindarel
and also: Common Lisp Pitfalls by Jeff Dalton.
Books
- Practical Common Lisp by Peter Seibel
- Common Lisp Recipes by Edmund Weitz, published in 2016,
- Common Lisp: A Gentle Introduction to Symbolic Computation by David S. Touretzky
- Successful Lisp: How to Understand and Use Common Lisp by David B. Lamkins
- On Lisp by Paul Graham
- Common Lisp the Language, 2nd Edition by Guy L. Steele
- A Tutorial on Good Lisp Style by Peter Norvig and Kent Pitman
Advanced books
- Loving Lisp - the Savy Programmer’s Secret Weapon by Mark Watson
- Programming Algorithms - A comprehensive guide to writing efficient programs with examples in Lisp.
Specifications
- The Common Lisp HyperSpec by Kent M. Pitman (also available in Dash, Zeal and Velocity)
- The Common Lisp Community Spec - a new rendering produced from the ANSI specification draft, that everyone has the right to edit.
Further remarks
This is a collaborative project that aims to provide for Common Lisp something similar to the Perl Cookbook published by O’Reilly. More details about what it is and what it isn’t can be found in this thread from comp.lang.lisp.
If you want to contribute to the CL Cookbook, please send a pull request in or file a ticket!
Yes, we’re talking to you! We need contributors - write a chapter that’s missing and add it, find an open question and provide an answer, find bugs and report them, (If you have no idea what might be missing but would like to help, take a look at the table of contents of the Perl Cookbook.) Don’t worry about the formatting, just send plain text if you like - we’ll take care about that later.
Thanks in advance for your help!
The pages here on Github are kept up to date. You can also download a up to date zip file for offline browsing. More info can be found at the Github project page.
Page source: index.md