Phil Tomson wrote:

>> http://evil.rubyforge.org/
> Just took a quick look at evil.
> 
> So is the intent to use Ruby/DL to load the ruby.so (or ruby.dll) that 
> gets created when you compile Ruby to be a shared lib?

We're not using that yet -- currently all we do is use Ruby/DL to get 
pointers to the internal structure of Ruby objects.

However using ruby.so might allow us to provide more features.

> Any user docs?

Not yet, but I think I'll make that a priority.

Some interesting things to try out:

class Qux; end; class Bar; end
class Foo
   inherit Qux
   inherit Bar
   # you now have a class which inherits from both Qux and Bar
end

obj = "foobar"; obj.freeze
obj.unfreeze; obj.reverse!

obj_a = Object.new
obj_a.instance_eval { @a = 5 }
obj_b = Object.new
obj_b.become(obj_a)
obj_b.instance_eval { @a } # => 5

object_klass = Object.clone
object_klass.class = Object

x = KernellessObject.new
x.methods # => undefined method methods

There's more and I'm pretty sure that we'll soon be able to provide more.

Regards,
Florian Gross