<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:ent="http://www.purl.org/NET/ENT/1.0/" version="2.0">
  <channel>
    <title>Curiouser and Curiouser! on jruby</title>
    <link>http://matt.blogs.it/</link>
    <description>RSS feed for topic jruby</description>
    <copyright>Copyright 2006 Matt Mower. Some rights reserved.</copyright>
    <generator>Squib/0.5.0.382</generator>
    <managingEditor>self@mattmower.com</managingEditor>
    <webMaster>self@mattmower.com</webMaster>
    <language>en-gb</language>
    <item>
      <title>Faster Ruby through Smalltalk</title>
      <link>http://matt.blogs.it/entries/00002442.html</link>
      <pubDate>Wed, 15 Nov 2006 10:15:11 +0000</pubDate>
      <description>&lt;p&gt;There has been occasional talk over the last couple of years about the performance advantages to be gained by executing Ruby on top of a Smalltalk virtual machine (VM) but nothing's ever come of it.&lt;/p&gt;

&lt;p&gt;I just read about &lt;a href="http://smallthought.com/avi/?p=19"&gt;Avi Bryant's experiment&lt;/a&gt; where he uses JRuby' Ruby parser and visitor architecture to translate a (very) small Ruby program into Smalltalk source that can be executed by Squeak to show that 3+4 does, in fact, equal 7! Earlier posts have a lot of talk of &lt;a href="http://smallthought.com/avi/?p=18"&gt;invokedynamic dispatch byte-codes&lt;/a&gt; and &lt;a href="http://smallthought.com/avi/?p=17"&gt;VM comparisons&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Avi acknowledges that it's a small first step and I'm not sure where the next step would lead unless one were considering an out-and-out Ruby to Smalltalk translator. But it shines a light on what seems to be one of the key roadblocks in front of general experimentation: parsing Ruby source code.&lt;/p&gt;

&lt;p&gt;As I understand it the Ruby parser can only be understood by hacking into the rather gnarly &lt;code&gt;parse.y&lt;/code&gt; (122K of &lt;a href="http://www.gnu.org/software/bison/"&gt;bison&lt;/a&gt;ic joy). There is no canonical specification of Ruby's grammar that enables you to quickly produce a Ruby parser in your own tool or language.&lt;/p&gt;

&lt;p&gt;Seems to me that would be a good, if painful, step. Maybe some of that Rails Doc project money could be diverted to get an expert on the case?&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002442.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
  </channel>
</rss>
