On Mar 7, 2011, at 1:29 PM, Alexandre Jasmin wrote:
Your image helps me a lot.
I'm trying to get the Squeak VM compiling with Adobe Alchemy.
tell us more :)
I'm exploring ways to use Smalltalk inside a web page.
There are already few interesting Javascript converters and Smalltalk inspired projects like the Clamato and the Lively Kernel. But it'd be nice to run unchanged code from Pharo or Squeak directly.
The simplest way to bring Pharo on the web would be to run the existing VM inside a web page. The Squeak plug-in does that already but good luck getting anyone to install it.
There are at least two solutions aiming to bring native code to the web without installing plug-ins - Google Native Client provides a sandboxed environment for x86 code
We would love to have somebody working on the google native client for pharo.
- Alchemy (a research project at Adobe) compiles C into the bytecode language interpreted by Flash.
Since Flash seems to have wider adoption than Native Client I'm doing a little experiment with it. I just took the VMMaker generated C code for the Squeak VM and passed it through the Alchemy compiler to get something that runs on top of the Flash plug-in.
Ok now I understand.
It's too soon to tell if this kind of nested VM is really usable. Performance will undoubtedly be an issue but I can at least run the Hazel image and have it beep in a loop which is encouraging.
Fascinating!
It seems Flash also supports some dynamic class loading which could enable performance improvements but the execution model while a bit better than Javascript doesn't really compare with Smalltalk. I don't see how we could support continuations for the debugger with pure AVM bytecode for instance. Anyways just recompiling the existing interpreter with Alchemy compiler requires a minimum of work so I'm focusing on that now.
Will let you know how it goes.
Thanks a lot. Ben is already really happy to see 3 or 4 months of works been used by somebody else. It is a great feedback. Stef