Luke Palmer wrote:
> Renaming methods defeats the purpose of roles.  Roles are like
> interfaces inside-out.  They guarantee a set of methods -- an interface
> -- except they provide the implementation to (in terms of other,
> required methods).  Renaming the method destroys the interface
> compatibility.

Not so.  A role is more than an inside-out interface; it guarantees a set
of methods either by calling it an error to not define a given method in a
class that C<does> the role or by defining the method itself.  In the
latter case, renaming the method can be quite useful; even in the former
case, renaming or excluding methods from a role is useful if you want an
interface which is almost, but not quite, like the one that the role
provides.  

=====
Jonathan "Dataweaver" Lang

__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus

Reply via email to