ScreamingDonkey 0.1

ScreamingDonkey, while not ScreamingMonkey, has more or less the same goal, but not necessarily the same means to get there.

The goal of ScreamingDonkey is to bring Ecmascript 4 scripting to a browser near you, using existing web components.


It's early. The ESC compiler is not done, and it's the central piece this project relies on. The browser glue, dubbed JSObject, is also rough in places. Until both of those parts are fully done, ScreamingDonkey cannot be considered ready for live deployments.
In practical terms, a number of things aren't working as expected yet, including for/in loops, eval, global scoping, and a number of nitpickings that make porting scripts just a little painful. While it's unlikely we'll ever get to a stage where every javascript runs directly within ScreamingDonkey due to some intrinsic limitations, the porting effort should eventually become very minimal.
Even once ready, expect the compiler speed and the browser DOM interactions to be slower than native scripting. On the other hand, runtime script execution time should compare favorably to the current generation of browser scripting.
No particular effort has been made to provide ready-to-deploy versions of ScreamingDonkey, as the current release is primarily meant for tinkerers and hackers.


So far, we have:

  • evalui - An HTML re-implementation of As3Eval's test UI.
  • processing - A firefox only port of processing.js to run over ScreamingDonkey.
I'm also playing along with a port of dromaeo to get some benchmark numbers. That involves a rough port of jQuery, and isn't quite working yet, so nothing to show yet.

License and links

The whole project is licensed under the MPL/GPL/LGPL.

Play around with the demos to get a feel for it. It is recommended to use a Debug version of the flash player so you can see runtime exceptions rather than silent failures.

You can browse the source or download the source.