Mozilla Monkeying Around with Tamarin

But in a really good way. Brendan Eich has announced 3 cool new projects around the Tamarin engine Adobe contributed to the Mozilla project:

  • ActionMonkey, which will merge SpiderMonkey and Tamarin. Not really a new project, but lots more details are available.
  • ScreamingMonkey, which will allow Tamarin to be invoked from within IE. Not clear to me whether this is really Tamarin or ActionMonkey that gets integrated. Is it “just” Tamarin’s ECMAScript engine, or is there more?
  • IronMonkey, which is an effort to port IronPython and IronRuby to run on Tamarin.

Several people have wrote about this already, most notably Sam Ruby, Dion Almaer of, and Adobe’s own John Dowdell.

These are all very cool projects. Being able to use a modern, high performance ECMAScript engine within IE could be huge. I wonder if this will embarrass the IE folks into updating their ancient JavaScript engine?

But the project I’m most interested in is IronMonkey. I even talked about wanting such a thing way back in November 2006 in a comment on Sam Ruby’s blog:

Yes, a Ruby or Python environment that generated AVM2 bytecodes would be awesome as part of Firefox etc. No more need for things like RJS – just write your entire web app in Rails, using HTML and/or Flash for presentation.

It is interesting that Mozilla chose to use IronPython and IronRuby as the basis for this work, though. I have a lot of respect for Jim Huginin and company, but using the Microsoft languages means a lot of hassles:

  • since the languages are written in C#, they have to use Mono to compile the compilers. Not a big deal, but yet another dependency to manage.
  • although MsPL is a pretty open license, I don’t think the actual source repositories for the compilers allow contributions from anyone other than Microsoft employees. Thus Mozilla is going to have to make a downstream repository and deal with all the version skew issues. Be interesting to see if Microsoft fixes this problem eventually. I hope so. If they don’t they are missing out on a key benefit of open source.

Would have preferred them to use JRuby and Jython as the base, personally. Still, I applaud the Mozilla folks for coming up with such a compelling vision for JavaScript’s future, and look forward to the day when I can write AJAX apps using Ruby on the client.

~ by Andrew Shebanow on 26Jul07.

4 Responses to “Mozilla Monkeying Around with Tamarin”

  1. Hi, a couple of comments:

    My talk noted the existing downstream really-open-source repository for IronPython,, in connection with our lead on IronMonkey, Seo Sanghyeon, who founded it. So that’s covered already ;-).

    The initial C# hosting may not last. If these projects take off, I expect translation by hand or automation and self-hosting of the compilers. But that is for a later stage.


  2. Thanks for the comments Brendan. I was aware of the fepy angle, but can see how my ‘make a downstream repository’ comment was a bit misleading in that respect. The real point I was trying to make is that maintaining such a repository over time can be quite a lot of extra work, and that this work wouldn’t be necessary if Microsoft allowed external contributors.

  3. I am excited to see what comes of the IronRuby running in tamarin. I think that could be a very cool thing.

    Thanks for the notes on whats going on.

  4. It looks like IronRuby will be hosted on RubyForge; perhaps IronPython can start taking patches. There still may be downstreams or peers (using modern distributed version control systems reduces merge costs and takes away the problem of primacy and commit access, to a large extent). Anyone know of authoritative news from MS on this front?


Comments are closed.

%d bloggers like this: