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...

Full description

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
id UNACIONAL2_56714443c384ce458cbf5544b761d537
oai_identifier_str oai:repositorio.unal.edu.co:unal/48967
network_acronym_str UNACIONAL2
network_name_str Universidad Nacional de Colombia
repository_id_str
spelling Atribución-NoComercial 4.0 InternacionalDerechos reservados - Universidad Nacional de Colombiahttp://creativecommons.org/licenses/by-nc/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Ortin, Francisco609fb55d-dc9a-490d-9071-4a8586c685e1300Redondo, Jose M.bc0a2780-2162-46c2-86e7-ee09c961d98d300Quiroga, Josedc831a38-2c75-44db-b97d-078bd17e391c300Garcia, Miguel5989e5a1-64d7-4f58-8791-aa2c228dee8c3002019-06-29T08:16:07Z2019-06-29T08:16:07Z2014-08-26https://repositorio.unal.edu.co/handle/unal/48967http://bdigital.unal.edu.co/42424/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.application/pdfspaUniversidad Nacional de Colombia Sede Medellínhttp://revistas.unal.edu.co/index.php/dyna/article/view/40428Universidad Nacional de Colombia Revistas electrónicas UN DynaDynaDyna; Vol. 81, núm. 186 (2014); 242-250 DYNA; Vol. 81, núm. 186 (2014); 242-250 2346-2183 0012-7353Ortin, Francisco and Redondo, Jose M. and Quiroga, Jose and Garcia, Miguel (2014) Attaining multiple dispatch in widespread object-oriented languages. Dyna; Vol. 81, núm. 186 (2014); 242-250 DYNA; Vol. 81, núm. 186 (2014); 242-250 2346-2183 0012-7353 .Attaining multiple dispatch in widespread object-oriented languagesArtículo de revistainfo:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1http://purl.org/coar/version/c_970fb48d4fbd8a85Texthttp://purl.org/redcol/resource_type/ARTMultiple dispatchmulti-methoddynamic bindingreflectionmethod overloadhybrid typing.ORIGINAL40428-181780-1-SP.pdfapplication/pdf784815https://repositorio.unal.edu.co/bitstream/unal/48967/1/40428-181780-1-SP.pdf228eb89f20700288eb60585154445aeaMD5140428-181727-1-SP.pdfapplication/pdf781976https://repositorio.unal.edu.co/bitstream/unal/48967/2/40428-181727-1-SP.pdf05a29c30e78247f709efb955b2f751a0MD5240428-217207-1-PB.pdfapplication/pdf1065551https://repositorio.unal.edu.co/bitstream/unal/48967/3/40428-217207-1-PB.pdffe08a9d3191f62f60197a9c9323d9e28MD53THUMBNAIL40428-181780-1-SP.pdf.jpg40428-181780-1-SP.pdf.jpgGenerated Thumbnailimage/jpeg6119https://repositorio.unal.edu.co/bitstream/unal/48967/4/40428-181780-1-SP.pdf.jpg17ef2fda4e93999df2627cc797d5c2a2MD5440428-181727-1-SP.pdf.jpg40428-181727-1-SP.pdf.jpgGenerated Thumbnailimage/jpeg9415https://repositorio.unal.edu.co/bitstream/unal/48967/5/40428-181727-1-SP.pdf.jpg446014c8c2e6e0eb6adc30fa675de178MD5540428-217207-1-PB.pdf.jpg40428-217207-1-PB.pdf.jpgGenerated Thumbnailimage/jpeg9191https://repositorio.unal.edu.co/bitstream/unal/48967/6/40428-217207-1-PB.pdf.jpg5ee4a51d13f372c8e87080e66081c0f1MD56unal/48967oai:repositorio.unal.edu.co:unal/489672022-11-13 23:03:07.152Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.co
dc.title.spa.fl_str_mv Attaining multiple dispatch in widespread object-oriented languages
title Attaining multiple dispatch in widespread object-oriented languages
spellingShingle Attaining multiple dispatch in widespread object-oriented languages
Multiple dispatch
multi-method
dynamic binding
reflection
method overload
hybrid typing.
title_short Attaining multiple dispatch in widespread object-oriented languages
title_full Attaining multiple dispatch in widespread object-oriented languages
title_fullStr Attaining multiple dispatch in widespread object-oriented languages
title_full_unstemmed Attaining multiple dispatch in widespread object-oriented languages
title_sort Attaining multiple dispatch in widespread object-oriented languages
dc.creator.fl_str_mv Ortin, Francisco
Redondo, Jose M.
Quiroga, Jose
Garcia, Miguel
dc.contributor.author.spa.fl_str_mv Ortin, Francisco
Redondo, Jose M.
Quiroga, Jose
Garcia, Miguel
dc.subject.proposal.spa.fl_str_mv Multiple dispatch
multi-method
dynamic binding
reflection
method overload
hybrid typing.
topic Multiple dispatch
multi-method
dynamic binding
reflection
method overload
hybrid typing.
description 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.
publishDate 2014
dc.date.issued.spa.fl_str_mv 2014-08-26
dc.date.accessioned.spa.fl_str_mv 2019-06-29T08:16:07Z
dc.date.available.spa.fl_str_mv 2019-06-29T08:16:07Z
dc.type.spa.fl_str_mv Artículo de revista
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_2df8fbb1
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/article
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_6501
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/ART
format http://purl.org/coar/resource_type/c_6501
status_str publishedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.unal.edu.co/handle/unal/48967
dc.identifier.eprints.spa.fl_str_mv http://bdigital.unal.edu.co/42424/
url https://repositorio.unal.edu.co/handle/unal/48967
http://bdigital.unal.edu.co/42424/
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.spa.fl_str_mv http://revistas.unal.edu.co/index.php/dyna/article/view/40428
dc.relation.ispartof.spa.fl_str_mv Universidad Nacional de Colombia Revistas electrónicas UN Dyna
Dyna
dc.relation.ispartofseries.none.fl_str_mv Dyna; Vol. 81, núm. 186 (2014); 242-250 DYNA; Vol. 81, núm. 186 (2014); 242-250 2346-2183 0012-7353
dc.relation.references.spa.fl_str_mv Ortin, Francisco and Redondo, Jose M. and Quiroga, Jose and Garcia, Miguel (2014) Attaining multiple dispatch in widespread object-oriented languages. Dyna; Vol. 81, núm. 186 (2014); 242-250 DYNA; Vol. 81, núm. 186 (2014); 242-250 2346-2183 0012-7353 .
dc.rights.spa.fl_str_mv Derechos reservados - Universidad Nacional de Colombia
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.license.spa.fl_str_mv Atribución-NoComercial 4.0 Internacional
dc.rights.uri.spa.fl_str_mv http://creativecommons.org/licenses/by-nc/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv Atribución-NoComercial 4.0 Internacional
Derechos reservados - Universidad Nacional de Colombia
http://creativecommons.org/licenses/by-nc/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad Nacional de Colombia Sede Medellín
institution Universidad Nacional de Colombia
bitstream.url.fl_str_mv https://repositorio.unal.edu.co/bitstream/unal/48967/1/40428-181780-1-SP.pdf
https://repositorio.unal.edu.co/bitstream/unal/48967/2/40428-181727-1-SP.pdf
https://repositorio.unal.edu.co/bitstream/unal/48967/3/40428-217207-1-PB.pdf
https://repositorio.unal.edu.co/bitstream/unal/48967/4/40428-181780-1-SP.pdf.jpg
https://repositorio.unal.edu.co/bitstream/unal/48967/5/40428-181727-1-SP.pdf.jpg
https://repositorio.unal.edu.co/bitstream/unal/48967/6/40428-217207-1-PB.pdf.jpg
bitstream.checksum.fl_str_mv 228eb89f20700288eb60585154445aea
05a29c30e78247f709efb955b2f751a0
fe08a9d3191f62f60197a9c9323d9e28
17ef2fda4e93999df2627cc797d5c2a2
446014c8c2e6e0eb6adc30fa675de178
5ee4a51d13f372c8e87080e66081c0f1
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
repository.mail.fl_str_mv repositorio_nal@unal.edu.co
_version_ 1814089360209870848