Attaining multiple dispatch in widespread object-oriented languages



Document title: Attaining multiple dispatch in widespread object-oriented languages
Journal: Dyna (Medellín)
Database: PERIÓDICA
System number: 000409445
ISSN: 0012-7353
Authors: 1
1
1
1
Institutions: 1Universidad de Oviedo, Departamento de Ciencias de la Computación, Oviedo. España
Year:
Season: Ago
Volumen: 81
Number: 186
Pages: 242-250
Country: Colombia
Language: Inglés
Document type: Artículo
Approach: Aplicado, descriptivo
Spanish abstract Los multi-métodos seleccionan una de las implementaciones de un método sobrecargado, dependiendo en el tipo dinámico de sus argumentos. Aunque existen lenguajes que soportan multi-métodos, la mayoría de los lenguajes más extendidos no ofrecen esta funcionalidad. Por ello, es común ver el uso de distintos mecanismos auxiliares para obtener su funcionalidad. En este artículo evaluamos las alternativas existentes y presentamos una nueva basada en lenguajes con tipado híbrido. Una primera evaluación cualitativa analiza factores como la mantenibilidad, legibilidad, tamaño del código fuente, generalización de los parámetros y comprobación estática de tipos. También presentamos una evaluación cuantitativa del rendimiento en tiempo de ejecución y consumo de memoria
English abstract 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
Disciplines: Ciencias de la computación
Keyword: Programación,
Lenguajes orientados a objetos,
Multi-métodos,
Enlace dinámico,
Tipaje híbrido
Keyword: Computer science,
Programming,
Object oriented languages,
Multi-methods,
Dynamic binding,
Hybrid typing
Full text: Texto completo (Ver HTML)