> Is it right to have substantiated objects modifiable on the fly by 
> redefinitions of their class? Do you know of any program that 
> actually utilizes this? 

I haven't seen any Ruby program that uses this, but...

I use a language at work (Magik, proprietary) that has the same feature, and
we use it absolutely all the time to debug and modify running programs in
the course of development. It's very powerful and a great time-saver. I hope
that Ruby IDEs (like FreeRIDE) will offer the same feature for Ruby
debugging, if they don't already.

So, yes, it complicates semantics and VMs, but no, please don't get rid of
it!

-- George

PS Magik is also a dynamically typed language. It has been used to develop
large applications (100,000s LOC), the largest of which (a GIS) is now over
10 years old. But that info perhaps belongs in a different thread, one which
I don't want to import over here ;)