On 21 Jan 2014, at 23:56, Camille Teruel <[email protected]> wrote:
> > > On 21 janv. 2014, at 19:07, Sebastian Sastre <[email protected]> > 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
