The Common Lisp Cookbook
Clone or download
Permalink
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
CONTRIBUTING.md 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
README.md Fix typo. Dec 16, 2018
_config.yml Add a chapter layout that extends the default layout Aug 6, 2015
arrays.md Fix typo CHLS -> CLHS Apr 12, 2018
cl21.md Fix link to serapeum reference Feb 16, 2018
clos.md Fix #195 Dec 16, 2018
dandelion.png add Dandelion, Eclipse plugin with last commit last year ! Dec 22, 2018
data-structures.md printing a hash tables readably Dec 22, 2018
databases.md databases: with-empty-db ++ Jun 8, 2018
dates_and_times.md fix date -> day keyword Jul 21, 2017
debugging.md s/shuttle/spacecraft Dec 21, 2018
editor-support.md Fix broken slimv link Jan 7, 2019
emacs-ide.md Merge pull request #151 from vindarel/emacs-cleanup-0117 Jan 16, 2018
error_handling.md typos Jan 16, 2019
ffi.md [Refs #37] Move ffi chapter to markdown Aug 8, 2015
files.md Fix link to PCL files section May 6, 2018
functions.md Replace broken currying link with Wikipedia link Feb 20, 2018
getting-started.md sbclrc: print-case downcase Aug 28, 2018
index.md fix beautify PCL link Jan 10, 2019
io.md fix missing argument of `read-sequence` Apr 4, 2018
iteration.md Series examples added. Jan 10, 2019
license.md update the licence file Jun 21, 2017
macros.md macros: add baggers' 2h-long video Aug 28, 2018
misc.md Fix a typo Jun 19, 2018
numbers.md Add rationals, rounding, comparison and make-random-state Apr 14, 2018
os.md (minor) fix indentation, be precise Jan 8, 2019
packages.md typos Jan 16, 2019
pattern_matching.md split regular expressions from pattern matching Dec 21, 2017
process.md the same error, no loops Nov 21, 2017
regexp.md split regular expressions from pattern matching Dec 21, 2017
scripting.md build executables with ASDF:make, minimize Buildapp Jan 2, 2018
simple-restarts.png Error and condition handling Dec 21, 2017
strings.md strings: mention uiop, improve a couple examples Jan 22, 2019
systems.md Update systems.md Nov 19, 2018
testing.md tests: Gitlab CI Dec 1, 2017
web-scraping.md lparallel (from z0ltan.wordpress.com) Aug 23, 2017
win32.md moved code from w32-appendices to _include/code/ Aug 10, 2015
windows.md Updates for Allegro CL Aug 28, 2017

README.md

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.

Contributing

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

Troubleshooting

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 CONTRIBUTING.md file.