Posted by
Stéphane Ducasse on
Apr 28, 2010; 5:24pm
URL: https://forum.world.st/Traits-versus-packages-tp2068491p2073650.html
On Apr 28, 2010, at 7:03 PM, Johan Fabry wrote:
>
> Booh. So far for the traits implementation of AspectMaps then :-( I dont want to break the modularity of the AspectMaps package by requireing a special version of other packages for the traits to work.
>
> Or can we make a traits installer, that performs the redefinition of target classes? First check if the target classes already declare a uses:, and if not add it. Sounds like simple metaprogramming ...
>
> Any comments on this 'solution'?
should work.
sometimes we did that for adding a new instance variable to a class when loading a package
>
> On 28 Apr 2010, at 01:56, Stéphane Ducasse wrote:
>
>> so far (and similarly to instance variable) you cannot with the current definition syntax
>> declare a trait (add instance) to a class from a package that does not define the class.
>> You can do that in the initialize of a class loaded in a package but there is no think like
>>
>> MyClass addInstanceVariable: 'x'
>> MyOtherClass addTrait:
>>
>> at the similar syntax level than
>>
>>> FAMIXScopingEntity subclass: #FAMIXNamespace
>>> uses: TAMStructuralZoom
>>> instanceVariableNames: ''
>>> classVariableNames: ''
>>> poolDictionaries: ''
>>> category: 'Famix-Core'
>>
>> this is why one day packages will have to be a bit better supported and more important
>> we will have fix the "semantics" of changeset to be something than a simple side effect of 'oh this is easy' just save the class def and the method definition (because a class is a complex object).
>
> --
> Johan Fabry
>
[hidden email] -
http://dcc.uchile.cl/~jfabry> PLEIAD Lab - Computer Science Department (DCC) - University of Chile
>
>
>
>
> _______________________________________________
> Pharo-users mailing list
>
[hidden email]
>
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users_______________________________________________
Pharo-users mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users