Agreed. In fact, at its core, I would say that Ruby is "untyped,"  
since everything is of the same type (Object). The only meaningful  
information about the qualifications of an object for a certain task  
is whether it responds to certain necessary methods, as you said.  
Based on this, I would say that Ruby simply attempts to blindly  
execute the code with _no_ type checking at all, but simply chokes if  
a method is missing. Is this a bad way to think of it?

- Jake McArthur

On May 15, 2006, at 12:33 AM, dblack / wobblini.net wrote:

> It sounds like you're talking about class, rather than type.  A
> string, for example (that is, an object that says "String" when you
> ask it its class), can allow integers to be added to it, and is
> therefore of class String but of *type* "string-like thing that lets
> you add integers to it" (or whatever).
>
> So the type of Ruby objects is almost a tautology: the type of object
> o is "the type of objects that have the capabilities and interface of
> object o."  Class, meanwhile, though more tangible in a sense, is only
> the starting point for the object's life-cycle.