On Sat, Jul 22, 2006 at 02:50:24AM +0900, Charles O Nutter wrote:
> Second, RCR328 details a potential mechanism for launching a Ruby script
> either out-of-process (spawned) or as an in-process MVM.

Oh, thanks for pointing this out.  I'm working on a Sandbox.run(path) which will
run the script and set $0, ARGV, etc appropriately.  Ruby could just alias
run_script to that.  I've already got Script.load working and globals are
sandboxed, so I'm very close to getting this done.

> With _why's sandboxing extension, JRuby's existing MVM support, and YARV's
> future MVM support, it would seem we're all working toward similar goals.

Yeah, once things start to stabilize, we should definitely craft some kind of an
overarching API for managing multiple interpreters.  I've started to carve out
the stuff I'd like to expose in sand_table.h.  Stuff like defining classes in a
specific interpreter, copying methods from one interpreter to another, copying
interpreter insides, etc.

One of the things I keep wondring: a way to serialize the interpreter and pass
it between YARV, JRuby, and Ruby 1.8.5+.  We wouldn't be able to serialize some
things, but what's left could be useful.

_why