+1

Keeping things uniform is a plus in this case, even though we might lose
some flexibility.

Doru


On Sun, Jun 30, 2013 at 9:01 AM, Stéphane Ducasse <stephane.duca...@inria.fr
> wrote:

> Ok I slept and now my brain is working.
> I think that  having classTrait and trait together is important because
> else it would be the mess when
> you have a class method that uses an instance methods (both define in a
> trait).
> So conceptually this is one trait like in smalltalk you have one class and
> its metaclass.
>
> The model is similar and to represent class trait we have a ClassTrait
> class.
>
> Stef
>
>
> On Jun 30, 2013, at 1:04 AM, Camillo Bruni <camillobr...@gmail.com> wrote:
>
> > so let's discuss that on monday with the trait specialists Damien et
> Sebastian :)
> >
> > On 2013-06-29, at 23:34, Igor Stasenko <siguc...@gmail.com> wrote:
> >> yes, i don't know if it good or bad, but i'd rather prefer that traits
> >> applied to Behavior,
> >> but not to Class (which has two entangled behaviors). But maybe for
> >> human comprehension it is better..
> >> but not for implementing, because it certainly makes model more complex.
> >>
> >> On 29 June 2013 22:52, Camillo Bruni <camillobr...@gmail.com> wrote:
> >>>
> >>> On 2013-06-29, at 22:32, Igor Stasenko <siguc...@gmail.com> wrote:
> >>>
> >>>> On 29 June 2013 21:21, Stéphane Ducasse <stephane.duca...@inria.fr>
> wrote:
> >>>>>
> >>>>> On Jun 29, 2013, at 8:19 PM, Igor Stasenko <siguc...@gmail.com>
> wrote:
> >>>>>
> >>>>>> On 29 June 2013 20:12, Camillo Bruni <camillobr...@gmail.com>
> wrote:
> >>>>>>> Working on the new class builder I have a hard time figuring out
> the full trait
> >>>>>>> semantics.
> >>>>>>>
> >>>>>>> If I use a trait on instance side, does that imply that its
> classTrait on the
> >>>>>>> metaclass?
> >>>>>
> >>>>> No. I do not think so (I will have to think).
> >>>>> Normally Trait and ClassTrait are two different classes. NOw I do
> not remember if a trait is composed
> >>>>> of a classTrait too.
> >>>>>
> >>>> Trait has 'classTrait'
> >>>
> >>> yes, but the strange part is, that if you use a Trait on the
> instance-side it
> >>> will automatically install the class trait as well.
> >>>
> >>>       ClassDescription subclass: #Class
> >>>               uses: TClass
> >>>               ...
> >>>
> >>> and the users
> >>>
> >>>       TClass users => an IdentitySet(Class)
> >>>       TClass classTrait users => an IdentitySet(Class class)
> >>>
> >>> so in this case it implies that when you use a Trait on the instance
> side it will
> >>> apply also it's classTrait to the class side. So is it ok then to
> enforce that in
> >>> the new class builder?
> >>>
> >>> Currently you can do the following in the new class builder:
> >>>
> >>>       PharoClassInstaller make: [:builder|
> >>>               builder
> >>>                       superclass: Object;
> >>>                       name: 'Foo';
> >>>                       traitComposition: TClass ]
> >>>
> >>> which will explicitely NOT install `TClass classTrait` in `Foo class`.
> >>> Does this behavior make sense?
> >>
> >>
> >>
> >> --
> >> Best regards,
> >> Igor Stasenko.
> >>
> >
> >
>
>
>


-- 
www.tudorgirba.com

"Every thing has its own flow"

Reply via email to