On Fri, 2005-11-04 at 13:15 -0500, Austin Frank wrote: > If roles are interfaces, do we want any class that provides an interface > consistent with a role to implicitly do the role? That is, if a class > fulfills all of the interface requirements of a role without actually > saying it does the role, does it do the role anyway?
No. role Dog { method bark { ... } } class Tree { has $.bark; } A role is a named collection of behavior and state, not just a list of method and property names. The context is highly important. It's the difference between homonyms and allomorphs. -- c