for 1.1

Gofer new
         squeaksource: 'NanoTraits';
       package: 'NanoTraits-Kernel';
       package: 'NanoTraits-Tests';
        load


NanoTrait install

        I got a DNU ClassDescription traitImpl is not know.

ClassDescription>>traitImpl
        
        ^NanoTrait

uses: aTraitComposition
        | newTraits |
        newTraits := ((aTraitComposition isKindOf: NanoTrait) or: [ 
aTraitComposition isKindOf: NanoTraitTransformation]) 

aTraitComposition isKindOf: NanoTrait orOf: NanoTraitTransformation
        does not exist anymore in pharo :) luckily!


Behavior class>>installTraitsFrom: aTraitComposition
        ...
        self traitComposition removeTraitUser: self.
        -> DNU removeTraitUser: 


Some comments I got just reading the code and eating. 
Difficult to write in mails because this is more like metathoughts about the 
overall design space 
(not only NT) but kernel, Btrait and NTraits.

        - I tried to understand what is the benefit to have NTdescription and 
NClassTrait subclass of
        ClassDescription.
        I think that this is a pity that the interface of the existing kernel 
and BTrait could not 

        Now what I would really like to see is the impact on the tools (I 
imagine that andreas design 
        is better for that and I would like to understand what are the 
underlying invariant of the tools
        that Btraits broke. I imagine that Btrait interface is not that far 
from NTrait now the point is probably
        that the fact that NT inherits some not necessary behavior from 
ClassDescription fulfills better
        the tool invariant. 


        - I have the impression that the design of adrian was less backwards 
and more here is a "new" kernel
        and tools were shaken. 

        - something that I would like to see fixed in traits is the problem 
with the superclass 
                
Igor once you remove the non traits related classes:
        Trait-Requires
        Trait-LocalSends

        Traits-Kernel => 5 classes
        Traits-Composition => 7  (and I imagine that we could do a pass to 
clean method)
        so all in all we may have 15 classes in total (exception included).

Issue 1706:     Clean Traits implementation
        http://code.google.com/p/pharo/issues/detail?id=1706


Back latexing pffffff :(


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to