title |
---|
Home |
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 as for the more advanced developer.
- License
- Getting started
- Editor support
- Functions
- Data Structures
- Strings
- Numbers
- Loops, iteration, mapping
- Multidimensional Arrays
- Dates and Times
- Pattern Matching
- Regular Expressions
- Input/Output
- Files and Directories
- Error and condition handling
- Packages
- Macros and Backquote
- CLOS (the Common Lisp Object System)
- Type System
- Sockets
- Interfacing with your OS
- Foreign Function Interfaces
- Threads
- Defining Systems
- Using the Win32 API
- Debugging
- Performance Tuning
- Scripting. Building executables
- Testing and Continuous Integration
- Databases
- GUI programming
- Web development
- Web Scraping
- WebSockets
- Miscellaneous
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!
The Cookbook has been translated to:
- 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
- Articulate Common Lisp, an initiation manual for the uninitiated
- Common Lisp Pitfalls by Jeff Dalton
- 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 the course is not affordable for you." vindarel
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 UltraSpec
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.