On Thu, Jul 18, 2002 at 10:14:47AM -0700, Dan Ingalls wrote:
As you know, the Squeak VM is written in Slang, a subset of Smalltalk that can be translated to C. Its virtues are...
It doesn't require learning C if you're a Squeaker It can be changed and tested as easily as Smalltalk It can be translated to run as fast as C
...and these are its ONLY virtues. The last item is important for Squeak since the Squeak VM is an interpreter, so running it on itself will only make it slower.
Yes. Slang is Evil ;-) It doesn't require you to learn writing C, but you have to *think* in C if you want to use it.
My point is that I'm not recommending do write it in Slang like Squeak (an interpreter that you can translate), but to write it in Snort, a compiler that can compile itself. It's still the Squeak philosophy: write everything in the home language, and do what it takes to make it run.
Yes, I really like that!
We should try to replace Slang alltogether. Jalapeno simply (?) dumps all native code to the disk, so you only need a simple "bootloader". I don't think this is an option for Squeak: We want to be portable, and requiring a Compiler-Backend for the processor is not as nice as only the requirement of a C Compiler. But it should be possible to reuse lots of the Compiler-Framework used in the Jit-Compiler for a good static Smalltalk-To-C Translator... and thus we could implement the Interpreter in Smalltalk, not Slang. (The question is if it is possible to generate code that's fast enough for a production "interpreter only" system).
Marcus