Multiple Dispatch in Practice

Authors

Muschevici, Radu
Potanin, Alex
Tempero, Ewan
Noble, James

Journal Title

Journal ISSN

Volume Title

Publisher

Association for Computing Machinery (ACM)

Access Statement

Research Projects

Organizational Units

Journal Issue

Abstract

Multiple dispatch uses the run time types of more than one argument to a method call to determine which method body to run. While several languages over the last 20 years have provided multiple dispatch, most object-oriented languages still support only single dispatch - forcing programmers to implement multiple dispatch manually when required. This paper presents an empirical study of the use of multiple dispatch in practice, considering six languages that support multiple dispatch, and also investigating the potential for multiple dispatch in Java programs. We hope that this study will help programmers understand the uses and abuses of multiple dispatch; virtual machine implementors optimise multiple dispatch; and language designers to evaluate the choice of providing multiple dispatch in new programming languages.

Description

Citation

Source

Book Title

OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications

Entity type

Publication

Access Statement

License Rights

Restricted until