Main Content

Poisoning Rubinius: The _why and How

A talk by Brian Ford at RubyConf 2010

About the Talk

November 12, 2010 11:20 AM

New Orleans

New Orleans

Before he vanished in a cloud of smoke and scattered bits, why had been working on an interesting language experiment called Potion. The language borrows heavily from Io and Ruby but adds a few interesting features. One of these is an embedded data language built of things called Licks that permits easily defining tree data structures. Considering why's work an Shoes, it is likely that Potion was to be a new language for encouraging and enabling delightful experimentation and programming language pedagogy. Rubinius is an implementation of the Ruby programming language. However, under the hood Rubinius is a first-class virtual machine with a very fast bytecode interpreter, advanced garbage collector, and just-in-time (JIT) compiler which uses the terrific LLVM project. The Rubinius bytecode compiler and most of the Ruby core library is actually written in Ruby. Rubinius is an excellent platform to experiment with implementing other languages. Poison is an "interpretation" of Potion on Rubinius. It is an interpretation in the sense of a singer who interprets a song written by another author. Since why did not finish Potion, there is room to extend the work he did. Rounding out the features in Poison give one an opportunity to ponder the decisions that why made. We will take a look at some of the interesting elements of the Potion language and walk through the steps to implement a language like Potion on Rubinius. These steps would permit any aspiring language designer to have simple features of a new programming language executing in an afternoon.

Ratings and Recommendations

Avg. Rating

Average based
on 3 ratings

comments powered by Disqus