2004
DOI: 10.1109/tse.2004.90
|View full text |Cite
|
Sign up to set email alerts
|

A reflective implementation of Java multi-methods

Abstract: Abstract-In Java, method implementations are chosen at runtime by late-binding with respect to the runtime class of just the receiver argument. However, in order to simplify many programming designs, late-binding with respect to the dynamic type of all arguments is sometimes desirable. This behavior, usually provided by multi-methods, is known as multi-polymorphism. This paper presents a new multi-method implementation based on the standard Java reflection mechanism. Provided as a package, it does not require … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2005
2005
2022
2022

Publication Types

Select...
3
3

Relationship

0
6

Authors

Journals

citations
Cited by 7 publications
(1 citation statement)
references
References 25 publications
0
1
0
Order By: Relevance
“…For instance, they could wish to have a double-dispatch mechanism to ease implementations dealing with tree-like structures or binary methods [4,17]. This feature, which is a special case of multi-methods [11,21,8,3,22,23,10,12,1,27,2,14], allows a method implementation to be chosen with respect to the dynamic type (late-binding) of both the receiver and a single argument. It can be achieved programmatically through the visitor design pattern [19,15].…”
Section: Introductionmentioning
confidence: 99%
“…For instance, they could wish to have a double-dispatch mechanism to ease implementations dealing with tree-like structures or binary methods [4,17]. This feature, which is a special case of multi-methods [11,21,8,3,22,23,10,12,1,27,2,14], allows a method implementation to be chosen with respect to the dynamic type (late-binding) of both the receiver and a single argument. It can be achieved programmatically through the visitor design pattern [19,15].…”
Section: Introductionmentioning
confidence: 99%