[squeak-dev] Re: [ANN] SqueakJS

Bert Freudenberg bert at freudenbergs.de
Fri Dec 20 22:39:14 UTC 2013


On 20.12.2013, at 23:12, Chris Muller <asqueaker at gmail.com> wrote:

> On Fri, Dec 20, 2013 at 3:31 PM, Bert Freudenberg <bert at freudenbergs.de> wrote:
>>  http://croquetweak.blogspot.de/2013/12/squeakjs-lively-squeak-vm.html
> 
> Ultra cool, Bert, congratulations!
> 
> I was glad to see several, "for now"'s in your note.  Could you possibly give us a clue to your roadmap?
> 
> A practical implementation of this has massive implications for Squeak -- deployment to any JS-enabled device.  Obviously this is a fantastic demonstration of wrapping computation, please tell me this is not just an experiment but something for which you have broader plans for..?

My personal medium-term goal is running an Etoys image. It will be very slow at first, but there certainly are ways to optimize.

But one reason for releasing it at this early stage is to allow people to work on what they think is needed. Like running a current Squeak image - beyond the stuff needed for Etoys it should really just be a handful changes to correctly interpret closures.

As for optimizing I think the way to go is a JIT compiler that creates actual Javascript functions from Squeak methods. And to make BitBlt fast, we could probably use WebGL.

There's also interesting stuff I probably won't be working on. Like a kind-of FFI that lets you call Javascript libraries directly. Or a plugin that gives you access to the DOM (I do have the mechanism for VM plugins in place already). With that you could write a native HTML UI which would certainly be much faster than BitBlt.

Networking would be interesting, too. How about implementing the SocketPlugin via WebSockets? Or file access using the browser's local storage API? Parallelize the VM with WebWorkers?

There's a gazillion exciting things to do :)

- Bert -



More information about the Squeak-dev mailing list