I haven't studied Smalltalk or Strongtalk and am just trying to get an overview of the semantics of interfaces and polymorphism in O/O languages, particularly Dart.
In the 2002 paper titled Mixins in Strongtalk, there is the following paragraph in the section Copying Down Methods :
If a mixin represents a class declaration, then we associate the mixin with its master invocation, which is the class from which the mixin is derived. The master invocation is stored in an instance variable of the mixin. Any invocation can check if it is the master by examining its mixin and seeing if the master is identical to itself.
How does the master know what is its mixin? Does it store a reference to its mixin, and if so, how does it come about that an arbitrary class definition happens to contain this information? After all, isn't the idea that a mixin is derived from a class which was not intended, per se, to be used as/for a mixin?
I hope this makes sense.