Check out the new USENIX Web site.

Home About USENIX Events Membership Publications Students
COOTS 2001 Abstract

Using Accessory Functions to Generalize Dynamic Dispatch in Single-Dispatch Object-Oriented Languages

David Wonnacott, Haverford College


Object oriented languages generally include some form of dynamic dispatch; that is, in the absence of precise compile-time type information, they perform a run-time selection of the appropriate function body (or method) from a set of candidates. Existing single-dispatch languages restrict dynamic dispatch to the object receiving the message.

Such languages exhibit a conflict between the goals of providing an extensible a set of types and providing an extensible the set of operations that can be performed on these types. We show that this conflict is a consequence of the restriction of dynamic dispatch to the receiver object. We also demonstrate that this conflict can be resolved by introducing a generalized form of single dispatch (thus avoiding the complexity of multiple dispatch). On this evidence, we argue that dispatch technique should be decoupled from membership in a class and access to its representation.

?Need help? Use our Contacts page.

Last changed: 4 Jan. 2002 ml
Technical Program
COOTS 2001 Home