My Ajax Experience West keynote covers a lot of ground, with slant-wise truth telling the over-arching theme. Mozilla believes in fairly radical open source action, including open strategy. In that spirit, three new projects, the first already known via jresig:
ActionMonkey, the project to join forces between SpiderMonkey and Tamarin, being driven by Jason Orendorff with Edward Lee and some old-timers and newcomers lending a hand. The first stage of development integrates MMgc into SpiderMonkey as a replacement for SpiderMonkey’s GC. (NB: the wannabe mascot has a day job.)
IronMonkey, the project to map IronPython and IronRuby to Tamarin, so that Tamarin becomes multi-lingual, over time delivering high performance for all languages. This effort is being spearheaded by Seo Sanghyeon (whose last name I apologize for misspelling — or for using a different spelling of, at any rate — in my slides). The idea is to make use of the MsPL-licensed open source that Microsoft has kindly given the world, and tend necessary changes or additional code in downstream truly-open repositories that can accept patches from non-MS employees, such as FePy.
ScreamingMonkey, the project to add browser-specific script-engine glue to Tamarin, enabling it as a <script> tag handler in other browsers, starting with IE. Mark Hammond is leading this charge. Where it will end, one can only speculate. At a minimum, if you have Tamarin installed on your system in the future, you may need only a small download to plug it into other browsers. Best case, it comes with all the relevant glue in its main distribution. We’ll see.
I’m excited to announce these projects. They address various concerns voiced by bloggers of the form “what about other languages?” and “what about IE?”. Comments welcome.
3 Replies to “New Projects”
I still don’t understand why a well known language agnostic intermediate language isn’t used instead of ActionScript Byte Code. Basing all of the core on top of ABC, which is solely designed for ActionScript, seems wrong. It’s ABC that should be mapped to CIL, not the other way around.
A few good and robust low-level intermediate languages which provide extensive optimizations already exist in the open-source world as part of compilers, such as GIMPLE or even slightly more experimental ones like LLVM.
High-level ones, however, are more scarce: CIL is probably the most successful one, but it’s from Microsoft, which is enough to freak people out. There is also PIL (Parrot).
Lou: ABC is evolving, there’s nothing other than the name binding it to “ActionScript”.
On the other hand, as I keep saying at various blogs lately, the browser VM has to do JS first and fast. So what’s wrong with “ActionScript” as it evolves to do ES4/JS2? It is an implementation of the compact profile of ECMA-262 Edition 3 with extensions. SpiderMonkey is full E262-3 with extensions. We’re merging now.
We don’t have the luxury of taking years out of the market, first de-optimizing JS and raising the risk of backward incompatibilities by jamming in megs of novel VM code, just to support more programming languages that aren’t yet used on the web, and then trying to re-optimize.
Hence the new projects, which integrate and extend rather than rip and replace.
Comments are closed.