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