My Lisp implementation of choice, SBCL, did not until quite recently support threads on the Intel Mac (nor, as far as I know, did any other free Common Lisp implementation for the Mac; OpenMCL is not available for the Intel Mac). It still doesn't out of the box; happily, you can build your own one quite easily.
Just get the conventional binary, get the source, read the source's readme (it has an example of how to add threading support), and compile the source. You can then install as normal. I was expecting compiling it to be quite awkward, but it's actually pretty easy, if a bit slow.
Apparently, the threading support is currently a bit dodgy. I found it fine for normal use, but was able to provoke nasty-looking memory errors by running Apache-bench against a Hunchentoot image (each concurrent request uses a separate thread). So probably not suitable for use as a webserver yet, but fine for development.
(Edit: I originally forgot to clarify that I was talking about free Lisp implementations.)
Allegro Common Lisp supports threads on the Mac of course (as it supports lightweight threads on all of its ports).
ReplyDeleteSorry, yes, I had meant free Common Lisp environments; I thought I'd said that in the original post, actually, but it turns out I didn't. Fixed now. Allegro is a bit expensive for me. :) I'm fairly sure Lispworks also supports threads on Intel Mac.
ReplyDelete