Multiple polymorphism / multi-methods

Joseph Pallas 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 mailing list