Ahoy,
I checked in a change so that the REPL has a dedicated thread for evaluating all expressions. Hopefully by reusing the same thread we're less vulnerable to the implementation-specific threading nuances, e.g. now *, +, **, etc are working again in SBCL.
It seems to work fine under SBCL and LispWorks. If someone running Franz or OpenMCL could confirm that I didn't break them I'd be much obliged.
P.S., I'm finding the multithreading code quite comprehensible with this simple message-passing interface. Nice one Helmut!
-Luke