I’ve skimmed and read Practical Common Lisp by Peter Seibel and am now pondering what CommonLisp implementation to install on my iBook. Let’s see what Peter Seibel offers at the Practical Common Lisp Web Site.
Practical Common Lisp by Peter Seibel
Practical Common Lisp Web Site
#Books
(Please contact me if you want to remove your comment.)
⁂
The main free CL implementations available on OS X are CMUCL, SBCL, CLISP, and OpenMCL. I don’t recall whether you are familiar with CL or not so I will briefly describe each option.
CLISP does not generate native code; it compiles to bytecode, and is slower than the others. Personally I don’t use CLISP, but it is easier to port to new platforms since it does not compile to native code and, IIRC, it’s written in C. In practice, this is not a big issue since there aren’t new platforms springing up constantly, the major Lisps support all the major platforms, and SBCL is quite portable for a native-code compiler.
The MCL in OpenMCL stands for “Macintosh Common Lisp”, and indeed its support for OS X integration is better than the other Lisps. If you want to write Cocoa apps, you will want to use OpenMCL. OpenMCL includes an Objective-C bridge, and to my knowledge it is the *only* Lisp (Common Lisp), free or commercial, that supports Cocoa on OS X. Its speed is so-so; it does compile to native code, but its compiler is not as good as CMUCL’s or SBCL’s. It is *not* (yet) portable. Previously, as a Mac-only Common Lisp, it didn’t need to be; with the upcoming Intel-based Macs, obviously it will need to become portable. The OpenMCL implementors have decided to port it to Intel, and I’m pretty sure it will not be killed by the switch to Intel, though porting it may be a difficult task for them.
SBCL is likely the best overall choice unless you want to use Cocoa. You can use Carbon in SBCL, and it is likely that Cocoa will be supported one day, but not yet. SBCL forked from CMUCL in 1999, and has a greater emphasis on maintainability, portability and simplicity. Like CMUCL, it generates blazing-fast code.
CMUCL is available on OS X/PPC, but SBCL’s OS X/PPC port is better-maintained. Since they are closely related, SBCL is a better choice than CMUCL on OS X/PPC, unless you have some very specific reason to prefer CMUCL.
The SLIME-HOWTO says that CMUCL > SBCL > OpenMCL w.r.t. Emacs integration. The SLIME-HOWTO is reportedly out-of-date, so I would expect that SBCL is as well-supported as CMUCL by now. OpenMCL may not be quite so well supported because it is not as popular as CMUCL or SBCL, but if you are a Common Lisp newbie you will probably not be using features that wouldn’t be supported with OpenMCL.
– BrianTempleton 2005-07-26 20:41 UTC
---
Thanks for your intro to the various implementations. At the moment I have OpenMCL installed, even though I don’t plan to write Cocoa applications.
– Alex Schroeder 2005-07-27 08:45 UTC