Online Manual: Mixer-related Expressions

Given a classage, its mixers are matched when the classage is used to form a compound. In this sense, the enclosing classage of the mixers does not internally control how mixers are used. Therefore, there is no analogous expression such as plugin or connect as in the plugger or connector cases.

A classage itself does control how a method inside a mixer can be invoked. It has two forms:

This example demonstrates the use of these expressions in the context of overriding.

Typechecking

Typechecking these two kinds of expressions are almost identical to the cases where singleton plugger invocation expression and passive plugger invocation are typechecked, which we do not repeat here.

Just as for plugger-related expressions, these two invocations deserve attention when when method m is both an export and an import in the mixer (the overriding case with default implementation). If the import and the export have different signatures (the export one being more specialized according to the well-formedness of classages), the signature applied for typechecking the invocations should be the import one to ensure type soundness.

An example including most of the illegal cases of mixer invocations is here.