A single-file self-contained Common Lisp script template
README.md: Reorganize first paragraph
README.md: Assume user knows how to install Lisp
README.md: Fix a sentence


browse  log 



You can also use your local clone with git send-email.

This is a small Common Lisp script that can be used as a template.

To try it, first install SBCL or GNU CLISP for your distribution, e.g., run apt install sbcl or dnf install sbcl as root.

Then, as a normal user, run:

git clone --recursive https://git.sr.ht/~fitzsim/cl-starter-script && \
./cl-starter-script/start.lisp --help

After the Git clone finishes, you should see:

Compiling, please wait up to 30 seconds...
Usage: start [-he] [OPTIONS] FILES...

Template utility script.
  -h, --help                  display this help text and exit
  -e, --example               an example flag option
  -f, --file=FILE             an example FILE option
                              Default: file.txt

If that doesn't work, complain by filing a todo.

#It's a start...


  • Template for a small Common Lisp utility script.

  • Meant to be renamed and hacked up.

  • Runnable from the command line.

  • Loadable in a REPL.

  • SBCL and GNU CLISP support, so far.

  • Self-contained within the checkout directory.

  • Runnable without an Internet connection after the first Git clone.

  • Command line option parsing support provided by CLON.

  • Experiment with no :use at all, not even :common-lisp. Interesting, but in practice :use :cl and remove cl: prefixes.


Check out cl-launch which unfortunately is not widely packaged by distros.

Also look at Roswell as another potential basis for Common Lisp scripting, and lots more.

#Learning resources

A great introduction to Common Lisp; explains ASDF and Quicklisp better than anything else I've read:

A Road to Common Lisp

This PDF fosters a practical understanding of Common Lisp packges. I haven't found it available as a web page:

The Complete Idiot’s Guide to Common LispPackages)

Refer to this page to set up a Common Lisp environment on a new machine:

lisp-lang.org Getting Started