The latest  version of ByteCodeRuby is now available from the RubyVM project
on SourceForge:

http://sourceforge.net/project/showfiles.php?group_id=26000

If you're one of the select few who downloaded 0.1.0, I'd be very interested
in hearing your (publishable) comments. I'd particularly like to hear from
anyone who's managed to run it (or not...) on a non-x86 box. Thanks!

-- George


What is it?
========
The beginnings of a bytecode interpreter for Ruby. I'd guess that support
for the syntax of the Ruby language is perhaps 30% done. Overall support for
the Ruby platform (ie language + those library methods requiring VM
cooperation) is at perhaps 15%

It consists of a (minor) patch to Ruby 1.6.7's eval.c and node.h, a C
extension and some Ruby code. It's currently at an experimental stage: you
won't be able to run your favourite Ruby script with it, but you can compile
a subset of Ruby to bytecode, and then run the bytecode. The subset covers:
  method calls (must be either C or bytecode methods)
  method definition ('standard' arguments only - no optional, * or & args)
  local variables
  return
  if .. else
  while, including next, break, redo
  blocks with method calls, including correct scoping of variables in blocks
  next, break, redo for blocks (no retry yet)
  multiple assignment
  and, or

Changes since 0.1.0
================
- most of the Ruby language subset described above
- now based on Ruby 1.6.7 rather than 1.6.5
- unit tests using RubyUnit
- unit tests double up as micro-benchmarks for performance testing