@inproceedings{825908909ed64c3da61850b80f0fa75e,
title = "Multiple Dispatch in Practice",
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.",
keywords = "Double dispatch, Empirical software engineering, Instanceof, Multimethods, Multiple dispatch",
author = "Radu Muschevici and Alex Potanin and Ewan Tempero and James Noble",
year = "2008",
month = oct,
day = "19",
doi = "10.1145/1449955.1449808",
language = "English",
isbn = "978-1-60558-215-3",
series = "ACM SIGPLAN Notices",
publisher = "Association for Computing Machinery (ACM)",
number = "10",
pages = "563--582",
booktitle = "OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications",
address = "United States",
note = "23rd ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 2008 ; Conference date: 19-10-2008 Through 23-10-2008",
}