On Feb 2, 2012, at 6:27 PM, Markus Rother wrote:
Hi,
I just got done reading the paper "Traits: Composable Units of Behaviour". In general, I think the concept is massively underrated and has tons of potential. I can recommend the paper to anyone to make up one's mind about inheritance issues.
I did not yet try to use traits in Pharo, myself. But Two things came to my mind that were not quite clear from your paper, Stef and other authors in case you are following this list...
* Why aren't getter methods defined within a trait? Imho that would make a lot of sense. If you apply a trait, but don't like the getter/setter, then override it - no big deal. Why don't you include them as default in the trait?
because we did not know at compile time of the accessor the offset of the instance variables. Now I would love seen people doing another pass on what we did. And I would love to have slot and other cool compiler infrastructure and meta model so that we can rethink everything.
* When do unresolved conflicts error? Runtime vs. compile-time?
composition time
Thanks, and keep it up. Markus