Multiple Dispatch as Dispatch on Tuples
Proceedings of the Conference on Object-Oriented
Programming, Systems, Languages, and Applications
(OOPSLA '98), Vancouver,
British Columbia, Canada, October 18-22, 1998, pp. 374-387.
Gary
T. Leavens and
Todd
D. Millstein.
Many popular object-oriented programming languages, such as C++,
Smalltalk-80, Java, and Eiffel, do not support multiple dispatch. Yet
without multiple dispatch, programmers find it difficult to express
binary methods and design patterns such as the ``visitor''
pattern. We describe a new, simple, and orthogonal way to add
multimethods to single-dispatch object-oriented languages, without
affecting existing code. The new mechanism also clarifies many
differences between single and multiple dispatch.
To get the PostScript file, click
here.