On Tue, 2004-03-16 at 11:57, Dan Sugalski wrote:
(I forgot to reply to this last week)
At 11:51 AM -0800 3/16/04, chromatic wrote:
>Just to be sure, if Class Y inherits from Class X, is X on Y's does >list?
If class X does X, then yes. (I *really* should've picked better names) Classes don't by default do themselves, so if you had a top-level class Foo that didn't mark itself as doing anything, an object of class Foo would return true for an isa('Foo') check but false for a does('Foo') check.
Classes and roles don't automatically share the same namespace.
This means that the Perl 6 compiler will have to set does() on all classes or class-manipulations. As you suggest, we're not mixing up implementation (how does he do it?) with promise (he says he'll do it) -- signature type checking has to respect roles, not inheritance.
This is... odd. And it'll cause interesting problems with inter-language inheritance, since the perl 6 compiler will be the only thing doing this, and I think generally all the other languages (including perl 5) will be doing type checking based on the inheritance hierarchy rather than the interfaces, but...
(Followups on why this must be -> p6l.)
Don't care, really. :) -- Dan
--------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk