I'm gonna keep pimping it here on HN: Use Nu[1] as a REPL for iOS[2] and OS X[3]. I do all the time.
[2] http://groups.google.com/group/programming-nu/browse_thread/...
[3] https://github.com/timburks/nu/blob/master/nu/console.nu
I'd guess "the image thing" is probably the reason Smalltalk hasn't taken off more than it has.
I used to work for a vendor, and I've written a significant fraction of such an environment.
> so that for example you can't store your code in files and easily connect them with bits of code in another language
Which is why I know this to be patently false. You can actually add compiler objects and have select methods written in SQL or whatever language you like.
> Essentially, your programs would have to become image-based
Again, patently false for the REPL use case. Also there are a number of declarative Smalltalks already, which don't need to be started from an image file. Also, Smalltalk MT used to compile down to a DLL indistinguishable from any C++ DLL.
But incidentally, do you happen to know offhand of any resources about adding new compilers like you were talking about? That sounds pretty neat. I unfortunately missed the golden age of Smalltalk, so most of what I know comes from playing around with Squeak and GNU Smalltalk and reading about older implementations.
The examples for the T-Gen compiler compiler in VisualWorks Smalltalk talked a little about this, and had a toy SQL example. IIRC, there was a <pragma: > you could put in a method to use your own Compiler object. Also, Smalltalk/X actually let you implement methods in C right in the Smalltalk class browser.
Unfortunately, a lot of documentation and other info are lost in the mists of time.
RubyMotion doesn’t currently have a debugger, but it does have something Objective-C developers don’t have, a REPL working with the simulator. ... You can click on a visual element in the simulator and start modifying the objects in real time in a terminal window and see the modifications in the simulator. It reminds me of the first time I used firebug to edit the html/css of a web page and saw the changes in real time.
This might be the real strength of RubyMotion. Maybe someone should take Squeak/Pharo Smalltalk and create a utility that can be used as a REPL working with the iOS simulator. Smalltalk is basically Objective-C minus the C parts, types, and the glue to attach the C parts, so it would be the perfect REPL for the simulator. All you're left with is keywords and variables. Developers can insert this into projects for prototyping and debugging, but take it out when they deliver apps.