Multiple Dispatch in Practice

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

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference Paperpeer-review

23 Citations (Scopus)

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.

Original languageEnglish
Title of host publicationOOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Place of PublicationNew York
PublisherAssociation for Computing Machinery (ACM)
Pages563-582
Number of pages20
ISBN (Print)978-1-60558-215-3
DOIs
Publication statusPublished - 19 Oct 2008
Externally publishedYes
Event23rd ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 2008 - Nashville, TN, United States
Duration: 19 Oct 200823 Oct 2008

Publication series

NameACM SIGPLAN Notices
PublisherAssociation for Computing Machinery (ACM)
Number10
Volume43
ISSN (Print)0362-1340
ISSN (Electronic)1523-2867

Conference

Conference23rd ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 2008
Country/TerritoryUnited States
CityNashville, TN
Period19/10/0823/10/08

Fingerprint

Dive into the research topics of 'Multiple Dispatch in Practice'. Together they form a unique fingerprint.

Cite this