Adrian Lienhard wrote:
Of course the tools are not perfect. Instead of helping to improve the situation people tend to complain. Unfortunately this will not bring us forward. But hey, its not that important, is it?
Isn't it more like: To use traits you need tools, to write tools you need to understand traits, and to understand traits you need to use them?
I've been poking around in the traits implementation myself (fairly well documented in [1], and [2]) and although I have a very good understanding about the metaclass relationships in Squeak < 3.9 I found the traits implementation basically impenetrable. If I look at who implements a method and get ten implementors thrown at me where there used to be one or two, it's just not helpful. I stopped digging into it for that reason - the traits class kernel has become completely inaccessible to me.
I'm starting to think that implementing traits using traits may have been a mistake for that very reason. Maybe this should have done as a second step or so. But the way the situation is I think there may only be half a dozen people in the world who have any idea of how that traits kernel works. The rest is doomed to use tools that are simply not up to the job and have basically no chance to really get into it.
Cheers, - Andreas
[1]http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-August/094009.ht... [2]http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-October/110494.h...