Steel Bank Common Lisp

Getting Started

SBCL is available in source and binary form for a number of different architectures. This page describes how to get SBCL installed and how to start using it. For more complete installation instructions, please see the INSTALL document that comes with SBCL.

Installing a binary

SBCL is available in binary form for many architectures. To obtain the latest binary release for your system, visit the platform support page and click on the green square which indicates your platform. When the binary is downloaded, unpack the tarball:

bzip2 -cd sbcl-2.4.10-x86-linux-binary.tar.bz2 | tar xvf -
replacing sbcl-2.4.10-x86-linux-binary.tar.bz2 with the name of the tarball you downloaded. Then enter the directory which was unpacked, and run the installation script to install SBCL in your /usr/local directory:
cd sbcl-2.4.10-x86-linux
sh install.sh

Running SBCL

Make sure that /usr/local/bin is in your PATH. Then run SBCL by invoking "sbcl", which should produce a banner like this:

This is SBCL 2.4.10, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
*
To quit SBCL, type (quit).

Installing to a different prefix

You can install SBCL to a different directory prefix by setting the INSTALL_ROOT environment variable before running the installation script:

INSTALL_ROOT=/my/sbcl/prefix sh install.sh
To start SBCL, you need to set the SBCL_HOME environment variable to point at a subdirectory of the place you installed SBCL:
export SBCL_HOME=/my/sbcl/prefix/lib/sbcl # for bash / zsh
setenv SBCL_HOME /my/sbcl/prefix/lib/sbcl # for csh / tcsh
Make sure that /my/sbcl/prefix/bin is in your PATH and invoke SBCL as described above.

Using SBCL with Emacs

If you are going to use SBCL to develop Common Lisp, you will want a development environment which is more human friendly than the basic SBCL read-eval-print-loop. Such an environment is provided by SLIME, the Superior Lisp Interaction Mode for Emacs. SLIME provides many features, including an enhanced REPL with symbol completion and command-line history and interactive support for compiling and debugging code.

Compiling SBCL from Source

SBCL can be compiled from source code using another ANSI-compliant Common Lisp implementation.

  • SBCL itself
  • CMU Common Lisp
  • Clozure CL
  • CLISP
  • ABCL
  • ECL
  • To compile SBCL, first unpack the source tarball and enter the directory it makes. Then you will need to invoke the build shell script with the appropriate argument for the host Common Lisp you are using:
    sh make.sh host-implementation-name/path

    To install the SBCL binary you have built, see the installation instructions above.