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. (Followups on why this must be -> p6l.) If Parrot doesn't do this by default, that's fine in the sense that it'll at least make the mechanism available, but Perl 6 has to do it. -- c