Steel Bank Common Lisp
Encyclopedia
Steel Bank Common Lisp is a free
Common Lisp
implementation that features a
high performance native compiler, Unicode
support and threading
.
The name "Steel Bank Common Lisp" is a reference to Carnegie Mellon University Common Lisp
from which SBCL forked: Andrew Carnegie
made his fortune in the steel industry and Andrew Mellon was a successful banker.
, which is itself descended from Spice Lisp
, including early implementations for the Mach operating system
on the IBM RT, and the Three Rivers Computing Corporation PERQ
computer, in the 1980s.
William Newman originally announced SBCL as a variant of CMUCL in December 1999. The main point of divergence at the time was a clean bootstrapping
procedure: CMUCL requires an already compiled executable binary of itself in order to compile the CMUCL source code, whereas SBCL supported bootstrapping from - theoretically - any ANSI
-compliant Common Lisp implementation.
SBCL became a SourceForge.net
project in its own right in late 2000. The original rationale for the fork was to continue the initial work done by Newman without destabilizing CMUCL which was at the time already a mature and much used implementation. The forking was amicable, and there has since then been significant flows of code and other cross-pollination between the two projects.
Since then SBCL has attracted several developers, been ported to multiple hardware architectures and operating systems, and undergone many changes and enhancements: while it has dropped support for several CMUCL extensions that it considers beyond the scope of the project (such as the Motif
interface) it has also developed many new ones, including native threading and Unicode support.
Version 1.0 was released in November 2006, and active development continues. As of 2011, the documentation is quite substantial but still considered a work in progress by the developers.
William Newman stepped down as project administrator for SBCL in April 2008. Several other developers have taken over interim management of releases for the time being.
For the tenth anniversary of SBCL, a Workshop was organized.
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
Common Lisp
Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...
implementation that features a
high performance native compiler, Unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
support and threading
Thread (computer science)
In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...
.
The name "Steel Bank Common Lisp" is a reference to Carnegie Mellon University Common Lisp
CMUCL
CMUCL is a free Common Lisp implementation, originally developed at Carnegie Mellon University.CMUCL runs on most Unix-like platforms, including Linux and BSD; there is an experimental Windows port as well. Steel Bank Common Lisp is derived from CMUCL...
from which SBCL forked: Andrew Carnegie
Andrew Carnegie
Andrew Carnegie was a Scottish-American industrialist, businessman, and entrepreneur who led the enormous expansion of the American steel industry in the late 19th century...
made his fortune in the steel industry and Andrew Mellon was a successful banker.
History
SBCL is descended from CMUCLCMUCL
CMUCL is a free Common Lisp implementation, originally developed at Carnegie Mellon University.CMUCL runs on most Unix-like platforms, including Linux and BSD; there is an experimental Windows port as well. Steel Bank Common Lisp is derived from CMUCL...
, which is itself descended from Spice Lisp
Spice Lisp
Spice Lisp is a Lisp dialect and its implementation originally written by CMU's Spice Lisp Group which targeted the microcode of the 16-bit PERQ workstation and its Accent operating system; it used that workstation's microcode abilities to implement a stack architecture to store its data...
, including early implementations for the Mach operating system
Mach (kernel)
Mach is an operating system kernel developed at Carnegie Mellon University to support operating system research, primarily distributed and parallel computation. Although Mach is often mentioned as one of the earliest examples of a microkernel, not all versions of Mach are microkernels...
on the IBM RT, and the Three Rivers Computing Corporation PERQ
PERQ
The PERQ, also referred to as the Three Rivers PERQ or ICL PERQ, was a pioneering workstation computer produced in the early 1980s....
computer, in the 1980s.
William Newman originally announced SBCL as a variant of CMUCL in December 1999. The main point of divergence at the time was a clean bootstrapping
Bootstrapping
Bootstrapping or booting refers to a group of metaphors that share a common meaning: a self-sustaining process that proceeds without external help....
procedure: CMUCL requires an already compiled executable binary of itself in order to compile the CMUCL source code, whereas SBCL supported bootstrapping from - theoretically - any ANSI
Ansi
Ansi is a village in Kaarma Parish, Saare County, on the island of Saaremaa, Estonia....
-compliant Common Lisp implementation.
SBCL became a SourceForge.net
SourceForge.net
SourceForge is a web-based source code repository. It acts as a centralized location for software developers to control and manage open source software development. The website runs a version of SourceForge Enterprise Edition, forked from the last open-source version available...
project in its own right in late 2000. The original rationale for the fork was to continue the initial work done by Newman without destabilizing CMUCL which was at the time already a mature and much used implementation. The forking was amicable, and there has since then been significant flows of code and other cross-pollination between the two projects.
Since then SBCL has attracted several developers, been ported to multiple hardware architectures and operating systems, and undergone many changes and enhancements: while it has dropped support for several CMUCL extensions that it considers beyond the scope of the project (such as the Motif
Motif (widget toolkit)
In computing, Motif refers to both a graphical user interface specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It emerged in the 1980s as Unix workstations were on the rise, as a...
interface) it has also developed many new ones, including native threading and Unicode support.
Version 1.0 was released in November 2006, and active development continues. As of 2011, the documentation is quite substantial but still considered a work in progress by the developers.
William Newman stepped down as project administrator for SBCL in April 2008. Several other developers have taken over interim management of releases for the time being.
For the tenth anniversary of SBCL, a Workshop was organized.
External links
- SBCL homepage
- Planet SBCL - updated list of SBCL commits, testcase results, etc.
- SBCL internals wiki