Steel Bank Common Lisp

{{Short description|Free Common Lisp implementation}}

{{Infobox software

| name = SBCL

| logo =

| screenshot = SBCL screenshot.png

| screenshot size = 250px

| author = Forked by William Newman from CMUCL

| developer = Various

| released = {{Start date and age|1999|12}} (fork)

| latest release version = {{wikidata|property|edit|reference|P548=Q2804309|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P548=Q2804309|P348|P577}}}}

| latest preview version =

| latest preview date =

| operating system = Linux, Solaris, DragonFly BSD, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows

| platform = Cross-platform

| language = Common Lisp

| genre = Compiler and runtime

| license = Public Domain, with parts covered by the MIT License and BSD License (sans advertising clause)

| website = {{URL|www.sbcl.org}}

}}

Steel Bank Common Lisp (SBCL) is a free and open-source 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.{{Cite web |title=About - Steel Bank Common Lisp |url=http://www.sbcl.org/ |access-date=2023-12-12 |website=www.sbcl.org}}

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,{{sfn|Hirschfeld|Rose|2008|p=76}} 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.{{sfn|Hirschfeld|Rose|2008|p=76}}http://www-jcsu.jesus.cam.ac.uk/~csr21/sbcl-0.0 original email announcement of the fork from CMUCL 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.{{sfn|Hirschfeld|Rose|2008|p=76}} 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,{{Cite web|url=http://www.sbcl.org/platform-table.html|title=Download - Steel Bank Common Lisp}} 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.http://groups.google.com/group/sbcl-devel/msg/4374486c33601c7f Mail from William Newman where he announces his resignation Several other developers have taken over interim management of releases for the time being.http://groups.google.com/group/sbcl-devel/msg/59c9cd6ce9949b61 Mail from Christophe Rhodes describing the interim SBCL management

For the tenth anniversary of SBCL, a Workshop was organized.[http://www.sbcl.org/sbcl10/ SBCL's 10th Anniversary Workshop]

Version 2.0.0 was released on 29 December 2019 for the 20th anniversary of SBCL, with no major breaking changes.{{cite web |last1=Rhodes |first1=Christophe |title=sbcl-2.0.0 released |url=https://sourceforge.net/p/sbcl/mailman/message/36888385/ |website=sourceforge.net |access-date=1 May 2021}}

References

{{Reflist|30em}}

=Works cited=

{{Refbegin}}

  • {{cite book

|last1 = Hirschfeld

|first1 = Robert

|last2 = Rose

|first2 = Kim

|title = Self-Sustaining Systems: First Workshop, S3 2008 Potsdam, Germany, May 15–16, 2008, Proceedings

|url = https://books.google.com/books?id=FM-pCAAAQBAJ

|year = 2008

|publisher = Springer

|isbn = 978-3-540-89275-5

}}

{{Refend}}

Further reading

{{Refbegin}}

  • {{cite book

|last1 = Dozsa

|first1 = Adrian

|last2 = Gı̂rba

|first2 = Tudor

|last3 = Marinescu

|first3 = Radu

|title = 2008 12th European Conference on Software Maintenance and Reengineering

|chapter = How Lisp Systems Look Different

|date = 2008

|doi = 10.1109/CSMR.2008.4493317

|publisher = IEEE

|pages = 223–232

|isbn = 978-1-4244-2157-2

|s2cid = 6368390

|issn = 1534-5351

|chapter-url = https://www.researchgate.net/publication/4330201

|chapter-format = PDF}}

  • {{cite journal

|last = Rhodes

|first = Christophe

|title = Using Lisp Implementation Internals: Unportable but fun

|date = 2010

|doi =

|journal = Journal of Universal Computer Science

|issn =

|url = http://research.gold.ac.uk/9807/1/unportable.pdf

}}

{{Refend}}