But that's not the case. The only usage of traits in the Kernel is
TBehaviour, to share some common behaviour between traits and classes. But
Pablo is working on a new modular implementation of traits that would not
require TBehavior, and would simplify the code of classes.

On Tue, Jun 27, 2017 at 3:04 PM, Juraj Kubelka <[email protected]>
wrote:

>
> El 27-06-2017, a las 14:43, Pavel Krivanek <[email protected]>
> escribió:
>
>
>
> 2017-06-27 14:26 GMT+02:00 Juraj Kubelka <[email protected]>:
>
>> Just for curiosity: Is it a good decision? It is supposed that with
>> Traits we can have less code duplication. And maybe the code duplication
>> happens also in the Pharo kernel, right?
>>
>> Thanks for any explanation :-)
>>
>
> You are right, it will cause more code duplicities in the kernel. On the
> other hand we will be able to clean the traits implementation and make it
> more modular, so the users will have more options like stateful traits,
> talents etc. We needed to do a small step back to be able to move forward.
> It was not an easy decision but it was planned for a long time. And in the
> end, this decision was done by people who introduced traits and invested a
> lot of time and effort into them.
>
>
> That’s interesting. Thanks for the explanation :-)
>
> Juraj
>
>
> -- Pavel
>
>
>
>>
>> Cheers,
>> Juraj
>>
>> > El 27-06-2017, a las 14:16, Pavel Krivanek <[email protected]>
>> escribió:
>> >
>> > Hi,
>> >
>> > because we want to have traits only as an option where people will be
>> able to choose custom traits implementation, the Pharo kernel cannot depend
>> on them. For that reason we had to flatten all classes that use traits in
>> the kernel packages.
>> > That means that methods from system traits as TBehavior [1] were copied
>> to the trait users and the traits were removed from the class definitions.
>> For now these traits are still present in the image.
>> > If you use own traits in your projects, this step will have no impact
>> on you. Only if your project extends the system traits, you will need to
>> adopt it for Pharo 7.
>> >
>> > [1] complete list: TApplyingOnClassSide TBehavior
>> TBehaviorCategorization TClass TClassDescription TComposingDescription
>> TSortable TTranscript TTransformationCompatibility
>> >
>> > Cheers,
>> > -- Pavel
>>
>>
>>
>
>


-- 



Guille Polito


Research Engineer

French National Center for Scientific Research - *http://www.cnrs.fr*
<http://www.cnrs.fr>



*Web:* *http://guillep.github.io* <http://guillep.github.io>

*Phone: *+33 06 52 70 66 13

Reply via email to