Eliot wrote:

    Hi Levente,

        in my experience playing with the Dan and Alan Borning's multiple
    inheritance implementation getting things to work was one thing, reasonably
    straighforward, but getting tool support right (file-out format so that
    things filed back in correctly, etc) was another, an dth ebulk of the work.
    Looking at your proposal below I see no problem getting it to work but see
    lots of problems integrating it, e.g. with Monticello, etc.  Traits is
    already integrated with Monticello, supported with tests, etc.  As such it
    is a much less risky or effortful proposition than a new scheme.  So with
    that in mind are there important functional benefits of your scheme's direct
    state access as compared with traits that use accessors to access state that
    each user of a trait must implement?  i.e. what are the key benefits you see
    in direct inst var access?

    best
    Eliot


Hi Eliot,

I think there is a strong argument for stateful traits, especially since we are 
talking about collection smells.
One of the main selling points for traits (for me, at least) is that they would 
allow us to clean up the mess
created by inheritance for reuse (Dictionary is a Set) in existing libraries.
And obviously to create cleaner libraries going forward.
Well, inheritance for reuse is used not just for behavior, but for state as 
well.
Stateful traits would allow for a cleaner separation between inheritance and 
subtyping.
Stateful traits would even allow you to push the separation further and, as 
part of your design, you could have
state-only traits
complementing behavior-only traits.
Let us not forget that clean concepts are also easier to learn. I think it is 
much more important to get the concepts right
than any existing integration with Monticello. Why does it matter that we have 
tests and integration if people are not
using traits?

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

Reply via email to