4 ms·
I'm sure SBCL is committed to follow the Common Lisp standard, so as long as you don't stray outside of that you don't have to worry too much.
by kryptiskt 7y ago
I'm sure SBCL is committed to follow the Common Lisp standard, so as long as you don't stray outside of that you don't have to worry too much.
- ken 7y agoIs that feasible? Last I used Common Lisp, I seem to recall the spec being rather ambiguous on a number of important practical points, so any real program couldn't depend on only CLTL2. 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. [1]: http://maxima.sourceforge.net/lisp.html http://maxima.sourceforge.net/lisp.html
- lispm 7y agoCLtL2 is not the spec for ANSI CL. The spec was published a bit later and is a different document. The actual spec for ANSI CL is basically almost the same as this document : https://franz.com/support/documentation/cl-ansi-standard-draft-w-sidebar.pdf 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.
- fiddlerwoaroof 7y agoI write a lot of CL, and it’s reasonably easy to write standard-conforming code that just works across multiple implementations and, if you need something not standardized like sockets, TLS, or threads, there are fairly high-quality and “standard” portability libraries that make it easy to avoid reader conditionals most of the time.