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▀)




Reply via email to