An issue with Slang, the interpreter & the VM, and a period in
craig at netjam.org
Tue Jan 23 20:31:30 UTC 2007
> As for "ever been executed" ... For one reason or the other, most
> Slang hackers I know rarely use the simulation.
Wow, how many Slang hackers do you know? ;)
> Like, core VM stuff, nobody simulates, it's just too slow to be
Sometimes simulation is still the fastest way to isolate a bug.
It's got to take about a day before I'll give up on it. :)
> With Slang-only plugins I have indeed used it (e.g., I wrote a
> TweakPlugin that speeds up a basic operation). But as soon as you are
> interfacing to an external library, simulation is next to useless.
Well, if a certain core of your plugin's primitives are known to
work in their translated form, you can extend the simulation to invoke
them, and go on to use the simulator to very useful effect (isolating
bugs which may not be directly related to the plugin, but which require
the plugin's functionality to duplicate).
For example, I sometimes need to isolate subtle ordering bugs in
remote message-sending between multiple systems. Simulation seems to be
the only way to catch them, and that requires the ability to do
networking during simulation. The Flow networking plugin's C code is
entirely handwritten (for now), with system calls all over the place,
but I also wrote a Smalltalk simulation harness for it so everything
works. BitBltSimulator is another example.
More information about the Squeak-dev