Attaining multiple dispatch in widespread object-oriented languages



Título del documento: Attaining multiple dispatch in widespread object-oriented languages
Revista: Dyna (Medellín)
Base de datos: PERIÓDICA
Número de sistema: 000409445
ISSN: 0012-7353
Autores: 1
1
1
1
Instituciones: 1Universidad de Oviedo, Departamento de Ciencias de la Computación, Oviedo. España
Año:
Periodo: Ago
Volumen: 81
Número: 186
Paginación: 242-250
País: Colombia
Idioma: Inglés
Tipo de documento: Artículo
Enfoque: Aplicado, descriptivo
Resumen en español 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
Resumen en inglés 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
Disciplinas: Ciencias de la computación
Palabras clave: 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
Texto completo: Texto completo (Ver HTML)