Sean,

On Sunday, June 27, 2004, at 06:13  PM, Sean O'Dell wrote:

> The internal Ruby code, in a lot of places, assumes the type of object 
> that
> self points to.  This kind of assumption is the one that brings out the
> crashes.  This is the real hurdle.  If every internal checked its own 
> self
> type before trying to use it, and degraded gracefully when it doesn't 
> have
> the right internal data, this feature would be perfectly safe.

Requiring a check that self is consistent before an object does 
anything useful doesn't sound like fun.

class SomeClass
   def a_method
       raise "I'm not myself" unless (self.class.kind_of? SomeClass)
        ...
   end

   def another_method
       raise "I'm not myself" unless (self.class.kind_of? SomeClass)
       ...
   end

    ... ad nauseum...
end

I think there are other languages that require you to be a strong 
typist, if that is what you are interested in.... :-)

Cheers,

Patrick