Announcing Topaz: A New Ruby

Posted: February 6, 2013

I’m extraordinarily pleased to today announce Topaz, a project I started 10months ago, to create a brand new implementation of the Ruby programminglanguage (version 1.9.3).

Topaz is written in Python on top of the RPython translation toolchain (thesame one that powersPyPy). Its primary goals are simplicity andperformance.

Because Topaz builds on RPython, and thus much of the fantastic work of thePyPy developers, it comes out of the box with a high performance garbagecollector, and a state of the art JIT (just-in-time) compiler. What does thismean? Out of the box Topaz is extremely fast.

Topaz is far from complete and is missing many builtin methods and classes.However, it does have nearly every element of Ruby, including classes, blocks,many builtin types, all sorts of method calls, and much much more. We don’t yetconsider it stable, but it’s getting closer every day.

If you want to try it out right now, you can grab a nightly build, orbuild it yourself:

The major goal for the next several months is going to be completeness: addingmore features of Ruby, more builtin classes, more standard library modules, andgenerally getting to a point where real people can run real applications underTopaz (the holy grail, of course, being running Rails). One feature ofparticular note isFFI, once we have this people will begin to be able torun and develop applications that interact with C libraries (such as databasebindings).

If you’re interested in a high performance Ruby, I’d encourage you to getinvolved: in testing it out, in writing bug reports, and in helping to buildthe missing features.

This is just the beginning of Topaz, there’s much work to be done. If you’dlike to get involved you can find all the source code onGithub. Thedocumentation onReadTheDocs. There’s amailing list and#topaz onFreenode IRC to chat. I look forward to seeing you there.

There are innumerable people I’d like to thank for helping out on this project,I’ll attempt to enumerate them anyways.

First, Tim Felgentreff. When I started this project 10 months ago I believedit would be the work of a single person for a few months to get it to a releaseready state. I could not have been more wrong. Tim has done amazing working tobuild Topaz, including huge portions of the core object model.

Charles Nutter, Evan Phoenix, and Brian Ford. Each of these individuals aredevelopers of other Ruby implementations (JRuby and Rubinius), and they’veprovided enormous information and guidance about the Ruby language itself aswe’ve built Topaz.

The PyPy team. Over the last few months the PyPy developers have workedtirelessly to make RPython an even better platform than it already was forbuilding VMs of all sorts, not just for Python. Working with them on this taskhas been wonderful.

The Travis CI team. They’ve very kindly donated usage of Private Travis, and ithas been phenomenal to use. I can’t recommend their product enough.

And no doubt many others. Thanks to everyone I’ve forgotten who read code overmy shoulder, who reviewed and helped clarify documentation, who proofread thisblog post, and every other little thing that makes this project possible.

Thank you,I look forward to seeing you around Topaz.