On Sun, Mar 14, 2004 at 02:32:44PM +0100, Leopold Toetsch wrote: : Why? A ParrotClass is responsible for the method dispatch. The ParrotObject : inherits that behavior.
In Perl 6 terms we'd prefer to say that ParrotClass "does" the Dispatch role, and so does ParrotObject, but to call it inheritance is misleading. If you want to implement roles internally as a mild form of inheritance, that's okay, but it *will* confuse people, and will have to be explained repeatedly. Basically, Perl 6 allows dispatch on anything that supports the Dispatch role, whether that happens to be called a class or an object or both. The funny thing about ordinary classes is that they dispatch ordinary method calls to themselves rather than to their metaclass. It takes special syntax to "go meta". (That might or might not map well onto Ruby's Foo vs Foo' distinction.) At least that's the story this week... Larry