[email protected] wrote:
Ron,
Sure but at this time, not being able to run the simulator in a full
Pharo environment is a severe issue.
The key advantage is that the Smalltalk VM is written in itself.
Now, what do I experience is that it is hard to embark on VM work.
Why? Even if the PharoVMBuilders help in generating and compiling the
VM for several platforms (I can build for Windows 8.1, OSX, iOS,
Debian 7 etc) this is only one part of the puzzle.
The next step, is to understand how things do work for real, the
interpret() C loop isn't gonna help me one bit, I need to be able to
simulate this one in a Simulator. And I want to do that on the Pharo
platform. Currently on 2.0 - this will (again) be fun to get to work
on 3.0.
I am not in the league of the VM maintainers obviously.
But Clement provided me with Eliot's Cog Simulation image, which works
for his own work. But only his own. We do not have something like a
Configuration to get the same thing. And that's a very acute pain.
There are only so many hours in a day, true. So, in order to bring in
more people/resources for the VM work, the barrier to entry should be
moved a tad down.
We tried to have the StackSimulator working for a while (Stephan I'll
definitely get your version, thanks for it). This is also because
InterpreterSimulator doesn't work anymore and we have to use the
StackInterpreter instead (which is complicated already vs pure
interpreter).
All of this rant to say that having a clean interpreter and a basic
image (Maybe PharoKernel/Hazelnut/Boostrapping/Spoon will give us a
very simple image to simulate - the whole image isn't really needed.
Hopefully Oz will also move us forward on that front).
A real Pharo image is overkill for this as a ton of plugins get
involved etc.
The core system should be the same for Pharo/Squeak/... :
VMMaker-MemoryManager
VMMaker-Interpreter
VMMaker-InterpreterSimulation
VMMaker-MemoryManagerSimulation
and of course the Slang things (VMMaker-Support and
VMMaker-Translation to C).
What I'd love to end up with is an embeddable VM that we could hook
into other environments, languages etc (a bit like TCL for example).
This requires work on how the VM core runs. And to explore this,
simulation is needed.
Sorry for the long post. I wish I was a millionaire to pour in some
cash into the project to speed some areas up. Working on it :-) Maybe
should we work in that direction for funding. http://www.gv.com/ where
are you?
Phil
Getting the simulator working in Pharo could be a GSoC project? or is it
too advanced?
cheers -ben