2019
DOI: 10.1145/3290324
|View full text |Cite
|
Sign up to set email alerts
|

Polymorphic symmetric multiple dispatch with variance

Abstract: Many object-oriented languages provide method overloading, which allows multiple method declarations with the same name. For a given method invocation, in order to choose what method declaration to invoke, multiple dispatch considers the run-time types of the arguments. While multiple dispatch can support binary methods (such as mathematical operators) intuitively and consistently, it is difficult to guarantee that calls will be neither ambiguous nor undefined at run time, especially in the presence of express… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2019
2019
2022
2022

Publication Types

Select...
3
2

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(3 citation statements)
references
References 20 publications
0
3
0
Order By: Relevance
“…Multiple dispatching. Clifton et al (2000), Chambers & Chen (1999), Muschevici et al (2008), Park et al (2019) generalize object-oriented dynamic dispatch to determine the overloaded method to invoke based on the runtime type of all its arguments. Similar to TDOS, much of the type information is recovered from type annotations in multiple dispatching mechanisms, but, unlike TDOS, they only use input types to determine the semantics.…”
Section: Languages and Calculi With Type-dependent Semanticsmentioning
confidence: 99%
“…Multiple dispatching. Clifton et al (2000), Chambers & Chen (1999), Muschevici et al (2008), Park et al (2019) generalize object-oriented dynamic dispatch to determine the overloaded method to invoke based on the runtime type of all its arguments. Similar to TDOS, much of the type information is recovered from type annotations in multiple dispatching mechanisms, but, unlike TDOS, they only use input types to determine the semantics.…”
Section: Languages and Calculi With Type-dependent Semanticsmentioning
confidence: 99%
“…Though multiple dispatch is more often found in dynamic languages, there has been research on safe integration of dynamic dispatch into statically typed languages [1,6,7,9,18]. There, subtyping is used for both static type checking and dynamic method resolution.…”
Section: Related Workmentioning
confidence: 99%
“…If I look at the prior work many typed languages with multiple dispatch identified ambiguities. Eliminating the potential for ambiguities was a major goal and challenge for both Fortress and Cecil [4,64,50]. Julia's experience suggests, however, that ambiguity checking may actually be undesirable, particularly at definition sites.…”
Section: ¦ ¥mentioning
confidence: 99%