The Common Lisp Cookbook
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
_includes emacs-ide: cleanup++ and more links Jan 13, 2018
_layouts CSS: link to page source centered, in light blue box Jan 3, 2018
assets clos - rm "partial class hierarchy" old figures Sep 28, 2018
.emacs .emacs: rm old cruft Jul 21, 2017
.gitignore provide detailed instructions on initial setup Jan 2, 2018
AppendixA.jpg Added files for win32.html (jdcal) Mar 11, 2003
AppendixB.jpg Added files for win32.html (jdcal) Mar 11, 2003
AppendixC.jpg Added files for win32.html (jdcal) Mar 11, 2003
CHANGELOG updated changelog Jun 19, 2017 Added a short note about how to test site locally with Jekyll. Dec 2, 2017
Gemfile provide detailed instructions on initial setup Jan 2, 2018
Gemfile.lock provide detailed instructions on initial setup Jan 2, 2018 Fix typo. Dec 16, 2018
_config.yml Add a chapter layout that extends the default layout Aug 6, 2015 Fix typo CHLS -> CLHS Apr 12, 2018 Fix link to serapeum reference Feb 16, 2018 Fix #195 Dec 16, 2018
dandelion.png add Dandelion, Eclipse plugin with last commit last year ! Dec 22, 2018 printing a hash tables readably Dec 22, 2018 databases: with-empty-db ++ Jun 8, 2018 fix date -> day keyword Jul 21, 2017 s/shuttle/spacecraft Dec 21, 2018 Fix broken slimv link Jan 7, 2019 Merge pull request #151 from vindarel/emacs-cleanup-0117 Jan 16, 2018 typos Jan 16, 2019 [Refs #37] Move ffi chapter to markdown Aug 8, 2015 Fix link to PCL files section May 6, 2018 Replace broken currying link with Wikipedia link Feb 20, 2018 sbclrc: print-case downcase Aug 28, 2018 fix beautify PCL link Jan 10, 2019 fix missing argument of `read-sequence` Apr 4, 2018 Series examples added. Jan 10, 2019 update the licence file Jun 21, 2017 macros: add baggers' 2h-long video Aug 28, 2018 Fix a typo Jun 19, 2018 Add rationals, rounding, comparison and make-random-state Apr 14, 2018 (minor) fix indentation, be precise Jan 8, 2019 typos Jan 16, 2019 split regular expressions from pattern matching Dec 21, 2017 the same error, no loops Nov 21, 2017 split regular expressions from pattern matching Dec 21, 2017 build executables with ASDF:make, minimize Buildapp Jan 2, 2018
simple-restarts.png Error and condition handling Dec 21, 2017 strings: mention uiop, improve a couple examples Jan 22, 2019 Update Nov 19, 2018 tests: Gitlab CI Dec 1, 2017 lparallel (from Aug 23, 2017 moved code from w32-appendices to _include/code/ Aug 10, 2015 Updates for Allegro CL Aug 28, 2017

Lisp Cookbook

This is a fork of the Common Lisp Cookbook, moved from SourceForge.

This project will bring Common Lisp Cookbook to this decade. Development of the original Common Lisp Cookbook in SourceForge halted in 2007. In the meantime, a lot has happened in the land of Common Lisp. Tools and implementations have been improving, and some have fallen out of favor. Most notably, Common Lisp users can now benefit from Quicklisp library manager.

The main goal is making the Cookbook more modern and more accessible in addition to updating and expanding the content. Cookbook is an invaluable resource, as it shows in very to the point manner how to do various things in clear fashion without all the theoretical context. Sometimes you just need to look things up. While cookbooks can never replace proper documentation such as HyperSpec or books such as Practical Common Lisp, every language deserves a good cookbook, Common Lisp included.


When adding a new content, ensure, it renders properly.

There are two ways to do this:

First option is to install Jekyll and run jekyll serve in a folder where this repository was checked out.

Another option is to use github gem provided with the repo. To do this do the following:

  1. Ensure that bundler is installed (gem install bundler should do)
  2. bundle install --path vendor/bundle
  3. bundle exec jekyll serve


It can happen that you have older version of ruby installed in the system and bundler will fail with install. To fix this you need to update ruby. Sometimes system update is not an option, in this case consider instaling rbenv.

    # Check rbenv homepage for install instructions on systems other than Mac OS X
    brew install rbenv ruby-build

    # Add rbenv to bash so that it loads every time you open a terminal
    echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
    source ~/.bash_profile

    # Install Ruby
    rbenv install 2.5.0
    rbenv global 2.5.0
    ruby -v

After this you can proceed as usual:

  1. gem install bundler
  2. bundle install --path vendor/bundle
  3. bundle exec jekyll serve

Also, refer to a file.