sbcl
Steel Bank Common Lisp compiler and runtime
TLDR
Start REPL
SYNOPSIS
sbcl [--script file] [--load file] [--eval expr] [--quit] [options]
DESCRIPTION
SBCL (Steel Bank Common Lisp) is a high-performance Common Lisp compiler. It compiles to native code with sophisticated optimizations, making it one of the fastest Lisp implementations.
The REPL (Read-Eval-Print Loop) provides interactive development. Code can be loaded, tested, and modified without restarting. The debugger offers restarts, backtraces, and inspection.
ASDF (Another System Definition Facility) manages projects and dependencies. Quicklisp provides a package manager for Common Lisp libraries. Together they enable modern project development.
Creating executables uses sb-ext:save-lisp-and-die, dumping an image including loaded code. The result is a standalone executable with fast startup.
SBCL includes the SB-* extension packages: threading (sb-thread), networking (sb-bsd-sockets), FFI (sb-alien), and more. These extend standard Common Lisp.
The type system enables optional type declarations for optimization. The compiler provides detailed notes about optimization opportunities.
PARAMETERS
--script FILE
Run script (no REPL, --disable-debugger implied).--load FILE
Load Lisp file.--eval EXPR
Evaluate expression.--quit
Exit after processing.--core CORE
Use specified core file.--disable-debugger
Disable Lisp debugger.--noinform
Suppress startup banner.--noprint
Disable REPL printing.--non-interactive
Non-interactive mode.--userinit FILE
User init file (default: ~/.sbclrc).--no-userinit
Skip user init file.--sysinit FILE
System init file.--no-sysinit
Skip system init file.--dynamic-space-size MB
Heap size in megabytes.--control-stack-size MB
Stack size in megabytes.
CONFIGURATION
~/.sbclrc
User initialization file loaded at startup, commonly used to configure Quicklisp, set optimization policies, and define startup behavior./etc/sbclrc
System-wide initialization file loaded before the user init file.
CAVEATS
Core files are large (50MB+). Compilation can be memory-intensive. Some POSIX signal handling differs from other implementations. Threading model may differ across platforms. Not all CL libraries support all platforms.
HISTORY
SBCL was forked from CMUCL (Carnegie Mellon University Common Lisp) in 1999 by a group of developers seeking more active maintenance. The name "Steel Bank" plays on "Carnegie" (Andrew Carnegie was a steel baron). It has become one of the most popular free Common Lisp implementations, known for its performance and active development.
