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

Reply via email to