Steel Bank Common Lisp
![]() | |
Original author(s) | Forked by William Newman fromCMUCL |
---|---|
Developer(s) | Various |
Initial release | December 1999 | (fork)
Stable release | 2.4.5[1] ![]() |
Repository | |
Operating system | Linux,Solaris,DragonFly BSD,FreeBSD,NetBSD,OpenBSD,Mac OS X,Microsoft Windows |
Platform | Cross-platform |
Available in | Common Lisp |
Type | Compilerandruntime |
License | Public Domain,with parts covered by theMIT LicenseandBSD License(sans advertising clause) |
Website | www |
Steel Bank Common Lisp(SBCL) is afreeCommon Lispimplementation that features a high-performance native compiler,Unicodesupport andthreading.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 toCarnegie Mellon University Common Lispfrom which SBCL forked:Andrew Carnegiemade his fortune in the steel industry andAndrew Mellonwas a successful banker.
History
[edit]SBCL descends fromCMUCL(created atCarnegie Mellon University), which is itself descended fromSpice Lisp,[3]including early implementations for theMach operating systemon theIBM RT PC,and the Three Rivers Computing CorporationPERQcomputer, 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 cleanbootstrappingprocedure: CMUCL requires an already compiledexecutable binaryof itself to compile the CMUCL source code, whereas SBCL supported bootstrapping from theoretically anyANSI-compliant Common Lisp implementation.
SBCL became aSourceForgeproject in September 2000.[3]The original rationale for theforkwas 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 theMotifinterface) 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]- ^"sbcl-2.4.5 released".
- ^"About - Steel Bank Common Lisp".www.sbcl.org.Retrieved2023-12-12.
- ^abcHirschfeld & Rose 2008,p. 76.
- ^http://www-jcsu.jesus.cam.ac.uk/~csr21/sbcl-0.0original email announcement of the fork from CMUCL
- ^"Download - Steel Bank Common Lisp".
- ^http://groups.google.com/group/sbcl-devel/msg/4374486c33601c7fMail from William Newman where he announces his resignation
- ^http://groups.google.com/group/sbcl-devel/msg/59c9cd6ce9949b61Mail from Christophe Rhodes describing the interim SBCL management
- ^SBCL's 10th Anniversary Workshop
- ^Rhodes, Christophe."sbcl-2.0.0 released".sourceforge.net.Retrieved1 May2021.
Works cited
[edit]- Hirschfeld, Robert; Rose, Kim (2008).Self-Sustaining Systems: First Workshop, S3 2008 Potsdam, Germany, May 15–16, 2008, Proceedings.Springer.ISBN978-3-540-89275-5.
Further reading
[edit]- Dozsa, Adrian; Gı̂rba, Tudor; Marinescu, Radu (2008)."How Lisp Systems Look Different"(PDF).2008 12th European Conference on Software Maintenance and Reengineering.IEEE. pp. 223–232.doi:10.1109/CSMR.2008.4493317.ISBN978-1-4244-2157-2.ISSN1534-5351.S2CID6368390.
- Rhodes, Christophe (2010)."Using Lisp Implementation Internals: Unportable but fun"(PDF).Journal of Universal Computer Science.