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