Attaining multiple dispatch in widespread object-oriented languages
Multiple dispatch allows determining the actual method to be executed, depending on the dynamic types of its arguments. Although some programming languages provide multiple dispatch, most widespread object-oriented languages lack this feature. Therefore, different implementation techniques are commo...
- Autores:
-
Ortin, Francisco
Redondo, Jose M.
Quiroga, Jose
Garcia, Miguel
- Tipo de recurso:
- Article of journal
- Fecha de publicación:
- 2014
- Institución:
- Universidad Nacional de Colombia
- Repositorio:
- Universidad Nacional de Colombia
- Idioma:
- spa
- OAI Identifier:
- oai:repositorio.unal.edu.co:unal/48967
- Acceso en línea:
- https://repositorio.unal.edu.co/handle/unal/48967
http://bdigital.unal.edu.co/42424/
- Palabra clave:
- Multiple dispatch
multi-method
dynamic binding
reflection
method overload
hybrid typing.
- Rights
- openAccess
- License
- Atribución-NoComercial 4.0 Internacional
Summary: | Multiple dispatch allows determining the actual method to be executed, depending on the dynamic types of its arguments. Although some programming languages provide multiple dispatch, most widespread object-oriented languages lack this feature. Therefore, different implementation techniques are commonly used to obtain multiple dispatch in these languages. We evaluate the existing approaches, presenting a new one based on hybrid dynamic and static typing. A qualitative evaluation is presented, considering factors such as software maintainability and readability, code size, parameter generalization, and compile-time type checking. We also perform a quantitative assessment of runtime performance and memory consumption. |
---|