On 21 Jan 2014, at 23:56, Camille Teruel <camille.teruel@gmail.com> wrote:
On 21 janv. 2014, at 19:07, Sebastian Sastre <sebastian@flowingconcept.com> wrote:
We have to be careful about this.
Iâm not saying traits doesnât have its place but they are a solution to millions of non-problems
Note that this issue does not come from presence of traits but from the combinaison of two things: - conflation of base-level (a.k.a. domain-level) and meta-level APIs: but it's like that since the invention of smalltalk (however it can be solve with a mirror-based architecture) - recent unification of Class and Trait APIs that require classes to answer #users. So similar problems were already present before this unification. The unification just added a few ones (including #users). Basically, all selectors of Behavior, ClassDescription and Class should not be used as domain-level class-side methods: that makes around 500 "reserved" selectors.
The question is what to do in general⦠itâs very hard to never change the API of Class⦠Marcus