Hi In a recent post, Matthew Fulmer explained how categories work... and I don't really see why they exist this way... Can someone explain me (historical reason, etc...)?
>"In Squeak, Classes are objects, methods are objects, but >categories are not. Categories are implemented interestingly. >See Categorizer and subclasses. Categorizer stores two lists of >Symbols; one is the list of all the categories, the other is the >list of all the class names or method names, arranged so that >all the names in the first part of the list are in the first >category, the next few methods are in category 2, and so forth. >So all the categories are is a symbol in a special list, with >the mapping to classes and methods is maintained by other >entities. > >How would changing this work? Mostly, Browser would have to be >changed significantly. OmniBrowser would probably be easier to >adapt, but I have only worked with Browser, so I cannot comment." I don't mind method categories are not first class but I find quite annoying and limited to use them (there is not even a list of usual categories except in the class side...). My wish is I'd like to define categories as tags so I can attach several to method. This could be interesting to declare private method and classes extensions... Would it be possible and would you find useful to have that possibility ? Maybe we could use a pragma like syntax. AClass>>aMethod <category: #private category: #accessing category: #toRefactor extension: myPackage trait: TPureBehavior> .... Matthew also said we could adopt Namespace/Category like Gulik's work on namespaces, as Namespaces are much like reified Categories. What do you think ? Am I the only one annoyed the way method categories works (maybe another newbie reflex and maybe I don't get the power of categories the way they are...). Thanks Cédrick
_______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners