Steel Bank Common Lisp 2.0
sbcl.org
sbcl.org
sh make.sh --fancy
(--fancy isn’t even required, but builds all optional additions.)Installation?
sh install.shMy package manager installs version 1.4. I downloaded the version 2.0 package from the website, and ran the "install.sh" script per the Getting Started instructions for installing a binary. When I tried running it I got the following error:
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /usr/local/bin/sbcl)
I couldn't find a "make.sh" file in the package that I downloaded, and I'm not enough of an expert to solve the GLIBC version error problem.
Once you install it, you can uninstall your system-provided SBCL.
[0] It’s linked at the top of http://www.sbcl.org/platform-table.html
> So, I'm not particularly thinking of sbcl-2.0.0 in terms of semantic
> versioning. In fact, my loose plan for further releases is to aim for
> about 11 releases a year, and increment the second-level number every
> year or so, to keep a rough alignment with calendar years. Our users
> should be trained by now that every release is a potentially-breaking
> release, right?
- [1] https://sourceforge.net/p/sbcl/mailman/sbcl-devel/thread/877...
Yes, in reality, I'd be amazed to find code that actually breaks.
There is no commitment to semver from SBCL's side. Rather, it's trying to follow calendar years with at least one release each of the 11 months and a major release in the end of the year.
But I suppose that's pure bikeshedding and it doesn't really matter.
For example, Maxima lists a number of implementations that can compile it, and says "Ports to other ANSI Common Lisps should be straightforward and are welcome" [1]. The source code is full of #+ #- conditionals.
The actual spec for ANSI CL is basically almost the same as this document : https://franz.com/support/documentation/cl-ansi-standard-dra...
ANSI CL is a spec of the language. Programs like Maxima use a lot of features not covered by the language specification and Maxima has been written over a long time and has to deal with changing languages, operating systems and implementations, too.
For example the Common Lisp standard does not say anything about how an executable can be created. Maxima surely want s to do that. There are mow also libraries, which provide common interfaces for a bunch of general cases, though.