Common Lisp JavaScript Emacs Lisp Ruby C HTML CSS
Switch branches/tags
Nothing to show
Clone or download
Latest commit c7d61d8 Jun 19, 2018
Permalink
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 databases: Mito, SxQL, test with a tmp DB, defmodel Apr 25, 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 Merge branch 'master' into serve-howto Jan 2, 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 reference the book "OO programming in CL" by Sonya E Keene in CLOS Jun 8, 2018
data-structures.md Add section on circular lists to Data Structures Apr 3, 2018
databases.md databases: with-empty-db ++ Jun 8, 2018
dates_and_times.md fix date -> day keyword Jul 21, 2017
editor-support.md fix cl-repl image Mar 9, 2018
emacs-ide.md Merge pull request #151 from vindarel/emacs-cleanup-0117 Jan 16, 2018
error_handling.md Error and condition handling Dec 21, 2017
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 repl: --disable-debugger sbcl option Mar 29, 2018
index.md Merge pull request #175 from vindarel/database May 24, 2018
io.md fix missing argument of `read-sequence` Apr 4, 2018
license.md update the licence file Jun 21, 2017
loop.md fix markdown headings Jun 23, 2017
macros.md [Refs #37] Move the "macros" chapter to Markdown Aug 9, 2015
misc.md Fix a typo Jun 19, 2018
numbers.md Add rationals, rounding, comparison and make-random-state Apr 14, 2018
os.md os - run programs sync and async with uiop Jan 23, 2018
packages.md [Refs #37] Move the Packages chapter to Markdown Aug 7, 2015
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 justifying text with format directives Sep 18, 2017
systems.md fix systems.md highlighting Jul 21, 2017
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 propertly.

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.