Whoa, say what?
---
   Rubydium is aiming to become an optimising reimplementation 
   of the Ruby 1.8 interpreter, currently its as good as vapourware
   however the key mechanism has been prototyped, thusly before
   commencing a major rewrite I thought i'd release the 
   current state of the art.

Why oh why?
---
   Rubydium works by generating optimized platform specific code 
   on the fly, as needed, using instance type information gathered 
   during the execution itself.

   Optimisations are possible as the generated code can be specialized
   for the types in question, therefore allowing heavy inlining of
   speed critical sections.

Where ya at?
---
   This preview can execute an primitive subset of the 
   Ruby language, its slow, buggy, more complex than i'd 
   really like, and will probably make you loose a fair 
   amount of hair just getting the preview working :)

   However, its a proof of concept that does show that
   The Twist is implementable using the libjit library.

Whats you using mate?
---
   As a backend code generator libjit (http://www.southern-storm.com.au/libjit.html)
   is being used. The first component of Rubydium is therefore
   a small and incomplete binding to the libjit library. The CVS
   version of libjit is required for the Rubydium tech preview.

   As a Ruby parser Robert Feldt's awesome Ruth library is used.
   The AST is used directly during code generation at this point.
   Several minor modifications were needed so a custom Ruth library
   is required for Rubydium.

Dude, where's my car?
---
   I've given Rubydium a nice cozy and well furnished apartment 
   at the RubyForge estate:

      http://rubyforge.org/frs/?group_id=362

   Or for the wgetters out there:

      http://rubyforge.org/frs/download.php/1546/libjit-cvs-snapshot-2004-09-27.tar.gz
      http://rubyforge.org/frs/download.php/1548/ruth-0.10-rubydium.tar.gz
      http://rubyforge.org/frs/download.php/1547/rubydium-0.1-1.tar.gz

   Didn't downloading that just feel sooo damn good?
   All excited? Hope so :)

But, Geez, Dude, How do I start her up ?
---
   The Libjit CVS snapshot (needs base system - c/c++/bison-1.35/flex)
      (more information can be found in the included README)
   :
      ./configure --prefix=/path/to/install/prefix --enable-interpreter
         (example prefix: /home/alex/install/libjit)
      make
      make install
      
      Please note, the "--enable-interpreter" option is required.

   Ruth with my local modifications (1.8.x ruby is known to work)
      (see included README file for more information)
   :
      ruby helpers/make.rb
      ruby helpers/install.rb

   Rubydium
   :
      export JIT_DIR=/path/to/install/prefix
      ./build_script

   This will configure, then build, and finally execute the test suite.
   The test suite will produce an obscene amount of information,
   take a look through it on a rainy day sometime if you wish :)

   Any failed tests?, first please check that you actually do have an
   interpreter build of libjit rather than a x86 backend build. If you're
   certain that there are other errors, feel free to email me the failure 
   reports :)

And now what?
---
      
   Take a look around at the source. Given its current state
   its certainly not useful for executing anything, but
   its sure fun to see all that output whizz past!


Here's to hoping at least some of 
you guys/gals can get this working! :)

Enjoy :)
Alex