Steel Bank Common Lisp

From Wikipedia, the free encyclopedia
(Redirected from SBCL)
SBCL
Original author(s)Forked by William Newman from CMUCL
Developer(s)Various
Initial releaseDecember 1999; 24 years ago (1999-12) (fork)
Stable release
2.4.0[1] Edit this on Wikidata / 28 December 2023; 3 months ago (28 December 2023)
Repository
Operating systemLinux, Solaris, DragonFly BSD, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows
PlatformCross-platform
Available inCommon Lisp
TypeCompiler and runtime
LicensePublic Domain, with parts covered by the MIT License and BSD License (sans advertising clause)
Websitewww.sbcl.org

Steel Bank Common Lisp (SBCL) is a free Common Lisp implementation that features a high-performance native compiler, Unicode support and threading. It is open source software, with a permissive license. In addition to the compiler and runtime system for ANSI Common Lisp, it provides an interactive environment including a debugger, a statistical profiler, a code coverage tool, and many other extensions.[2]

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.

History[edit]

SBCL descends from CMUCL (created at Carnegie Mellon University), which is itself descended from Spice Lisp,[3] including early implementations for the Mach operating system on the IBM RT PC, and the Three Rivers Computing Corporation PERQ computer, in the 1980s.

William Newman originally announced SBCL as a variant of CMUCL in December 1999.[3][4] The main point of divergence at the time was a clean bootstrapping procedure: CMUCL requires an already compiled executable binary of itself to compile the CMUCL source code, whereas SBCL supported bootstrapping from theoretically any ANSI-compliant Common Lisp implementation.

SBCL became a SourceForge project in September 2000.[3] 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 have 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,[5] 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.

William Newman stepped down as project administrator for SBCL in April 2008.[6] Several other developers have taken over interim management of releases for the time being.[7]

For the tenth anniversary of SBCL, a Workshop was organized.[8]

Version 2.0.0 was released on 29 December 2019 for the 20th anniversary of SBCL, with no major breaking changes.[9]

References[edit]

  1. ^ Christophe Rhodes. "sbcl-2.4.0 released". Retrieved 20 January 2024.
  2. ^ "About - Steel Bank Common Lisp". www.sbcl.org. Retrieved 2023-12-12.
  3. ^ a b c Hirschfeld & Rose 2008, p. 76.
  4. ^ http://www-jcsu.jesus.cam.ac.uk/~csr21/sbcl-0.0 original email announcement of the fork from CMUCL
  5. ^ "Download - Steel Bank Common Lisp".
  6. ^ http://groups.google.com/group/sbcl-devel/msg/4374486c33601c7f Mail from William Newman where he announces his resignation
  7. ^ http://groups.google.com/group/sbcl-devel/msg/59c9cd6ce9949b61 Mail from Christophe Rhodes describing the interim SBCL management
  8. ^ SBCL's 10th Anniversary Workshop
  9. ^ Rhodes, Christophe. "sbcl-2.0.0 released". sourceforge.net. Retrieved 1 May 2021.

Works cited[edit]

Further reading[edit]

External links[edit]