Steel Bank Common Lisp
Original author(s) | Forked by William Newman from CMUCL |
---|---|
Developer(s) | Various |
Initial release | December 1999 | (fork)
Stable release | 2.4.5[1]
/ 30 May 2024 |
Repository | |
Operating system | Linux, Solaris, DragonFly BSD, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows |
Platform | Cross-platform |
Available in | Common Lisp |
Type | Compiler and runtime |
License | Public Domain, with parts covered by the MIT License and BSD License (sans advertising clause) |
Website | www |
Steel Bank Common Lisp (SBCL) 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.
History
SBCL descends from CMUCL (created at Carnegie Mellon University), which is itself descended from Spice Lisp,[2] 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.[2][3] 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.[2] 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,[4] 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.[5] Several other developers have taken over interim management of releases for the time being.[6]
For the tenth anniversary of SBCL, a Workshop was organized.[7]
Version 2.0.0 was released on 29 December 2019 for the 20th anniversary of SBCL, with no major breaking changes.[8]
References
- ^ "sbcl-2.4.5 released".
- ^ a b c Hirschfeld & Rose 2008, p. 76.
- ^ http://www-jcsu.jesus.cam.ac.uk/~csr21/sbcl-0.0 original email announcement of the fork from CMUCL
- ^ "Download - Steel Bank Common Lisp".
- ^ http://groups.google.com/group/sbcl-devel/msg/4374486c33601c7f Mail from William Newman where he announces his resignation
- ^ http://groups.google.com/group/sbcl-devel/msg/59c9cd6ce9949b61 Mail from Christophe Rhodes describing the interim SBCL management
- ^ SBCL's 10th Anniversary Workshop
- ^ Rhodes, Christophe. "sbcl-2.0.0 released". sourceforge.net. Retrieved 1 May 2021.
Works cited
- Hirschfeld, Robert; Rose, Kim (2008). Self-Sustaining Systems: First Workshop, S3 2008 Potsdam, Germany, May 15–16, 2008, Proceedings. Springer. ISBN 978-3-540-89275-5.
Further reading
- Dozsa, Adrian; Gı̂rba, Tudor; Marinescu, Radu (2008). "How Lisp Systems Look Different" (PDF). Proceedings of European Conference on Software Maintenance and Reengineering. IEEE: 223–232. doi:10.1109/CSMR.2008.4493317. ISBN 978-1-4244-2157-2. ISSN 1534-5351. S2CID 6368390.
- Rhodes, Christophe (2010). "Using Lisp Implementation Internals: Unportable but fun" (PDF). Journal of Universal Computer Science.