Yesterday Evan Phoenix gave a talk about his new Ruby implementation Rubinius at acts as conference. So far it has been by far the most interesting talk of the conference. I heard about rubinius awhile ago and have been keeping an eye on the project and it recently has picked up a lot of momentum, especially since Engine Yard received funding (of which Evan is employed).

I was curious after the talk about where Evan got his inspiration for rubinius from. Larry pointed me at a blog post made by Avi Bryant of Seaside fame titled Turtles all the way down. Written in early 2005, Avi calls out MRI for its shortcomings and decides to ditch Ruby for something better, smalltalk. To quote Avi:

You want to change the way Array works everywhere in the system, well, find the appropriate Smalltalk code and change it. You want to extend the syntax of the language, subclass Compiler or write your own - the bytecode spec is easy to target. Have an idea for a new way to debug? There's plenty of code you can look at in the current Debugger, Process, and Stack classes to help you along, and when you're done just modify Exception to bring up your debugger instead of the standard one. The language doesn't support continuations and you want to add them? No problem; 10 lines of code and you're there.
Well it seems Evan and the rubinius team are about to give Avi a reason to come back to Ruby by building a better Ruby that truly is "turtles all the way down". It's an exciting project, and the rubinius people are super smart. Keep an eye out for 1.0.

Leave a Reply