HaloO,
I don't know if this is usefull and if it is were this information should be put. I've reworked the Code class chart from A06 to look as follows:
invocant(s) : Code _________ ____:__ ___|___ | | : | | SubMethod Method : Sub Block ___| : |___ | | : | | Rule | : | Macro |____:__| | : MultiMethod :
role Code {...}
role Return {...} role Dispatch[ ::How ] {...}
class Block does Code class Sub does Code & Return {...} class SubMethod does Code & Return & Dispatch of Class {...} class Method does Code & Return & Dispatch of Object {...} class Macro is Sub {...} class Rule is Method {...} class MultiMethod is Method & Sub does Dispatch of List of Object {...}
The vertical line of colons divides the methods from the subs basically. This mirrors the declaration syntax of the invocants which are left of the colon in a signature. The three underscore variables $_, @_ and %_ are right of the colon in my understanding and this is the main reason for this mail: aliasing $_ in methods to the first invocant would badly mix these two concepts!
Comments? -- TSa (Thomas Sandlaß)