Multiple Dispatch in Practice
| dc.contributor.author | Muschevici, Radu | en |
| dc.contributor.author | Potanin, Alex | en |
| dc.contributor.author | Tempero, Ewan | en |
| dc.contributor.author | Noble, James | en |
| dc.coverage.spatial | New York | en |
| dc.date.accessioned | 2026-03-04T10:41:37Z | |
| dc.date.available | 2026-03-04T10:41:37Z | |
| dc.date.issued | 2008-10-19 | en |
| dc.description.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. | en |
| dc.description.status | Peer-reviewed | en |
| dc.format.extent | 20 | en |
| dc.identifier.isbn | 978-1-60558-215-3 | en |
| dc.identifier.issn | 0362-1340 | en |
| dc.identifier.other | dblp:conf/oopsla/MuscheviciPTN08 | en |
| dc.identifier.other | ORCID:/0000-0002-4242-2725/work/207109981 | en |
| dc.identifier.scopus | 67650081018 | en |
| dc.identifier.scopus | 63549147820 | en |
| dc.identifier.uri | https://hdl.handle.net/1885/733807108 | |
| dc.language.iso | en | en |
| dc.publisher | Association for Computing Machinery (ACM) | en |
| dc.relation.ispartof | OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications | en |
| dc.relation.ispartofseries | 23rd ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 2008 | en |
| dc.relation.ispartofseries | ACM SIGPLAN Notices | en |
| dc.subject | Double dispatch | en |
| dc.subject | Empirical software engineering | en |
| dc.subject | Instanceof | en |
| dc.subject | Multimethods | en |
| dc.subject | Multiple dispatch | en |
| dc.title | Multiple Dispatch in Practice | en |
| dc.type | Conference paper | en |
| dspace.entity.type | Publication | en |
| local.bibliographicCitation.lastpage | 582 | en |
| local.bibliographicCitation.startpage | 563 | en |
| local.contributor.affiliation | Muschevici, Radu; Victoria University of Wellington | en |
| local.contributor.affiliation | Potanin, Alex; Victoria University of Wellington | en |
| local.contributor.affiliation | Tempero, Ewan; The University of Auckland | en |
| local.contributor.affiliation | Noble, James; Victoria University of Wellington | en |
| local.identifier.doi | 10.1145/1449955.1449808 | en |
| local.identifier.doi | 10.1145/1449764.1449808 | en |
| local.identifier.essn | 1523-2867 | en |
| local.identifier.pure | 82590890-9ed6-4c3d-a618-50b80f0fa75e | en |
| local.identifier.url | https://www.scopus.com/pages/publications/67650081018 | en |
| local.identifier.url | https://www.scopus.com/pages/publications/63549147820 | en |
| local.type.status | Published | en |