Exact
and you can have real problems!
Stef
> Hi Alexandre:
>
>
> On 25 Mar 2010, at 23:26, Alexandre Bergel wrote:
>> The solution of Visualworks was quite simple, and I think it makes sense in
>> most of the practical cases: when you compose traits, you simply concatenate
>> the variables defined in the composed traits with the variables defined in
>> the class. Duplicated names are then removed. Easy.
> Ehm, what does that exactly mean?
>
> The resulting class will have a set of instance variables where the name is
> the identity criterion of the set?
>
> A PHP example would look like:
>
> class Base{
> var $a;
> }
>
> trait T1 {
> var $a;
> var $b;
> }
>
> trait T2 {
> var $a;
> var $c;
> }
>
> class Composite extends Base {
> use T1, T2;
> }
>
> and Composite would have the instance variables $a, $b, $c.
> The problem would be of course that Base, T1, and T2 could use $a for
> completely different things.
>
> Simple, but at the cost of composability/safety.
> This semantics is also that of my proposal for PHP.
>
> Best regards
> Stefan
>
>>
>> Cheers,
>> Alexandre
>>
>>
>> On 25 Mar 2010, at 17:19, Stefan Marr wrote:
>>
>>> Hi Alexandre:
>>>
>>>
>>> Thanks.
>>> I have read all these papers already, but kind of hoped that there is
>>> something I missed so far.
>>>
>>> On 25 Mar 2010, at 23:00, Alexandre Bergel wrote:
>>>> "Stateful Traits and their Formalization"
>>>> http://scg.unibe.ch/scgbib?_k=OiaJOIuA&query=Berg08e&display=abstract
>>>> => It describes stateful traits
>>>>
>>>> "User-Changeable Visibility: Resolving Unanticipated Name Clashes in
>>>> Traits"
>>>> http://scg.unibe.ch/scgbib?_k=NNRwidu5&query=freezable+traits&display=abstract
>>>> =>Freezable traits
>>>>
>>>> "Adding State and Visibility Control to Traits using Lexical Nesting"
>>>> http://scg.unibe.ch/scgbib?_k=J-wbMltV&query=tom+cutsem+bergel
>>>> => Traits for a class-less language
>>> My problem is, that these proposals involve a lot additional complexity.
>>> And, Tom's paper is not really applicable to PHP. PHP just does not have a
>>> real notion of lexical context.
>>>
>>> Thanks
>>> Stefan
>>>
>>>
>>>
>>> --
>>> Stefan Marr
>>> Software Languages Lab
>>> Vrije Universiteit Brussel
>>> Pleinlaan 2 / B-1050 Brussels / Belgium
>>> http://soft.vub.ac.be/~smarr
>>> Phone: +32 2 629 2974
>>> Fax: +32 2 629 3525
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
>
> --
> Stefan Marr
> Software Languages Lab
> Vrije Universiteit Brussel
> Pleinlaan 2 / B-1050 Brussels / Belgium
> http://soft.vub.ac.be/~smarr
> Phone: +32 2 629 2974
> Fax: +32 2 629 3525
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project