Multiple polymorphism / multi-methods
pallas at alydar.Eng.Sun.COM
Sat Mar 23 00:54:46 UTC 1991
Multiple polymorphism is a generalization of message passing, so you
can still using message passing most of the time, keeping the
corresponding mental model that goes with it.
I can't allow that remark to go unchallenged. The mental model usually
associated with message passing is "ask that object to do this
operation (with these parameters)". I submit that, unless multimethod
invocations are somehow syntactically distinguished, the familiar
message-passing mental model cannot be used when multimethods are
allowed, regardless of whether they are actually employed.
Multiple polymorphism is sometimes useful, but the mental model is
undeniably different from that of message passing. Mixing mental
models incautiously is likely to lead to confusion, I fear.
More information about the Self-interest