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.