Ruby implementation for the blog post series http://www.halogenandtoast.com/reconstructing-ruby-an-introduction/