As Common Lisp is an
Standard, multiple implementations of the language exist in Debian.
Because these have different objectives and distinct features beyond ANSI
Common Lisp, this document cannot declare a default implementation.
Instead, Debian provides the Common Lisp Controller (CLC) from the
common-lisp-controller package. The CLC manages Common Lisp
implementations and libraries in a Debian system by compiling sources on demand
for desired implementations and handling implementation updates.
E.g., it allows for loading libraries using (clc:clc-require :asdf-system-name) or rebuilding all installed sources using (clc:clc-build-all-packages) on a number of different implementations.
Common Lisp Controller can pre-load the images of various implementations with frequently-needed libraries. It is working for all implementations that support saving the current memory image at run time (e.g. SBCL, Clisp, and CMUCL) and for some that need to link an image from pre-compiled objects (i.e. ECL at the moment).
To make use of this feature, write the names of the ASDF systems (one per line)
you wish to have pre-loaded in files of the form
Compiling the Common Lisp Controller for an implementation is done by loading
and running (common-lisp-controller:compile-common-lisp-controller-v5
"implementation") afterwards. This
function returns a list of object files that have resulted from the compilation
of CLC. They are supposed to make up the new image and can be used by
implementations like ECL to link one.
Setting up the Common Lisp Controller is done by invoking (common-lisp-controller:init-common-lisp-controller-v5 "implementation") afterwards. This can be done in the implementation's startup stage after an image with the above objects has been loaded, or you can set it up prior to saving a new default lisp image at runtime (this is the more usual case).
It must be possible to restore the original CLC-less state of the implementation.
Common Lisp in Debian ManualRené van Bevern