> Though, I must ask, is it really that much better?
Yes, it is.
> Obviously it's handy to edit it in place, but it's nice having multiple versions, even multiple trees, without having to relocate a cursor or undo unrelated changes.
To me development with SLIME is much better than with a fast-compiling language.
- Debugger is always ON.
- I can inspect the data I'm working with.
- I can redefine things without starting everything all over, avoid losing current context. Fast restart is not the same.
- I can evaluate pieces of code without the need of a REPL. Point to an s-expression and evaluate that piece of code, inspect the result.
I don't see how Smalltalk is much more interactive. It is more powerful at graphics and tools integration, but SLIME provides an interactive enough experience IMO, and it is significantly better to any fast compiling + restart language.
I used CCL recently at work. I needed to create a binary, copy it to a different machine and execute. SBCL binaries depend on a version of glibc that is not available in every Linux. Clozure CL binaries do not have that dependency, they are portable out of the box. Also, I think Clozure CL is more memory efficient than SBCL. I was running it on a low-memory cheap hosting.
The licensing is little complex. The original author - Claus Gittinger made it available for personal and commercial use for free. The source is available and you can change it (I do it a lot) but not the VM and STC (Smalltalk/X AOT compiler). For this, you may want to contact Claus Gittinger for special arrangement.
Now, Smalltalk/X jv-branch is a "fork" that I'm maintaining and developing. All the code I have written is open source, some LGPL, some MIT, some CCNC. All my changes to the VM and STC are opensource (license-wise) but I cannot make them public unless I rewrite 100% of the code from scratch :-)
I understand this is a bit complex and hard to understand. I should write some text explaining this in more detail...
Yes, it is.
> Obviously it's handy to edit it in place, but it's nice having multiple versions, even multiple trees, without having to relocate a cursor or undo unrelated changes.
You can do both.