Un sistema de tipos gradual para el lenguaje funcional Elixir
Supervisor(es): Pardo, Alberto - Viera, Marcos
Resumen:
Elixir es un lenguaje funcional, relativamente nuevo, con tipado dinámico, que busca ser muy potente y tener una sintaxis moderna. Además, es un lenguaje open source, lo que permite el estudio de su código fuente y la colaboración de la comunidad en su crecimiento. En este proyecto se propone un sistema de tipos que haga posible ejecutar un chequeo de tipos de forma estática para un fragmento significativo de Elixir, sin perder su esencia y flexibilidad. El sistema de tipos que se presenta no requiere ningún tipo de cambios en la sintaxis del lenguaje. Está basado en el concepto de tipado gradual, donde el programador decide el grado de chequeos estáticos que quiere que se realicen en su programa. La información de los tipos es proporcionada mediante firmas de funciones con la notación que Elixir provee, a diferencia de otras soluciones donde las colisiones de tipos son detectadas por inferencia. Este enfoque busca combinar los beneficios que el tipado estático y dinámico ofrecen. Se implementa un prototipo, también en Elixir, de un analizador de tipos basado en el sistema de tipos definido. Además, se realizan experimentos de uso de la biblioteca así como de aceptación del enfoque del sistema de tipos. El trabajo deriva en un paper presentado en SBLP 2020: 24th Brazilian Symposium on Programming Languages.
2020 | |
Programación funcional Elixir Sistema de tipos Gradual typing |
|
Español | |
Universidad de la República | |
COLIBRI | |
https://hdl.handle.net/20.500.12008/26407 | |
Acceso abierto | |
Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |
_version_ | 1807523226410024960 |
---|---|
author | Cassola, Mauricio |
author2 | Talagorría, Agustín |
author2_role | author |
author_facet | Cassola, Mauricio Talagorría, Agustín |
author_role | author |
bitstream.checksum.fl_str_mv | 6429389a7df7277b72b7924fdc7d47a9 a006180e3f5b2ad0b88185d14284c0e0 36c32e9c6da50e6d55578c16944ef7f6 1996b8461bc290aef6a27d78c67b6b52 5444862271982b76274d5179e4843253 |
bitstream.checksumAlgorithm.fl_str_mv | MD5 MD5 MD5 MD5 MD5 |
bitstream.url.fl_str_mv | http://localhost:8080/xmlui/bitstream/20.500.12008/26407/5/license.txt http://localhost:8080/xmlui/bitstream/20.500.12008/26407/2/license_url http://localhost:8080/xmlui/bitstream/20.500.12008/26407/3/license_text http://localhost:8080/xmlui/bitstream/20.500.12008/26407/4/license_rdf http://localhost:8080/xmlui/bitstream/20.500.12008/26407/1/CT20.pdf |
collection | COLIBRI |
dc.contributor.filiacion.none.fl_str_mv | Cassola Mauricio, Universidad de la República (Uruguay). Facultad de Ingeniería Talagorría Agustín, Universidad de la República (Uruguay). Facultad de Ingeniería |
dc.creator.advisor.none.fl_str_mv | Pardo, Alberto Viera, Marcos |
dc.creator.none.fl_str_mv | Cassola, Mauricio Talagorría, Agustín |
dc.date.accessioned.none.fl_str_mv | 2021-02-03T16:16:40Z |
dc.date.available.none.fl_str_mv | 2021-02-03T16:16:40Z |
dc.date.issued.none.fl_str_mv | 2020 |
dc.description.abstract.none.fl_txt_mv | Elixir es un lenguaje funcional, relativamente nuevo, con tipado dinámico, que busca ser muy potente y tener una sintaxis moderna. Además, es un lenguaje open source, lo que permite el estudio de su código fuente y la colaboración de la comunidad en su crecimiento. En este proyecto se propone un sistema de tipos que haga posible ejecutar un chequeo de tipos de forma estática para un fragmento significativo de Elixir, sin perder su esencia y flexibilidad. El sistema de tipos que se presenta no requiere ningún tipo de cambios en la sintaxis del lenguaje. Está basado en el concepto de tipado gradual, donde el programador decide el grado de chequeos estáticos que quiere que se realicen en su programa. La información de los tipos es proporcionada mediante firmas de funciones con la notación que Elixir provee, a diferencia de otras soluciones donde las colisiones de tipos son detectadas por inferencia. Este enfoque busca combinar los beneficios que el tipado estático y dinámico ofrecen. Se implementa un prototipo, también en Elixir, de un analizador de tipos basado en el sistema de tipos definido. Además, se realizan experimentos de uso de la biblioteca así como de aceptación del enfoque del sistema de tipos. El trabajo deriva en un paper presentado en SBLP 2020: 24th Brazilian Symposium on Programming Languages. |
dc.format.extent.es.fl_str_mv | 88 p. |
dc.format.mimetype.es.fl_str_mv | application/pdf |
dc.identifier.citation.es.fl_str_mv | Cassola, M. y Talagorría, A. Un sistema de tipos gradual para el lenguaje funcional Elixir [en línea]. Tesis de grado. Montevideo : Udelar. FI. INCO, 2020. |
dc.identifier.uri.none.fl_str_mv | https://hdl.handle.net/20.500.12008/26407 |
dc.language.iso.none.fl_str_mv | es spa |
dc.publisher.es.fl_str_mv | Udelar.FI |
dc.rights.license.none.fl_str_mv | Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |
dc.rights.none.fl_str_mv | info:eu-repo/semantics/openAccess |
dc.source.none.fl_str_mv | reponame:COLIBRI instname:Universidad de la República instacron:Universidad de la República |
dc.subject.es.fl_str_mv | Programación funcional Elixir Sistema de tipos Gradual typing |
dc.title.none.fl_str_mv | Un sistema de tipos gradual para el lenguaje funcional Elixir |
dc.type.es.fl_str_mv | Tesis de grado |
dc.type.none.fl_str_mv | info:eu-repo/semantics/bachelorThesis |
dc.type.version.none.fl_str_mv | info:eu-repo/semantics/acceptedVersion |
description | Elixir es un lenguaje funcional, relativamente nuevo, con tipado dinámico, que busca ser muy potente y tener una sintaxis moderna. Además, es un lenguaje open source, lo que permite el estudio de su código fuente y la colaboración de la comunidad en su crecimiento. En este proyecto se propone un sistema de tipos que haga posible ejecutar un chequeo de tipos de forma estática para un fragmento significativo de Elixir, sin perder su esencia y flexibilidad. El sistema de tipos que se presenta no requiere ningún tipo de cambios en la sintaxis del lenguaje. Está basado en el concepto de tipado gradual, donde el programador decide el grado de chequeos estáticos que quiere que se realicen en su programa. La información de los tipos es proporcionada mediante firmas de funciones con la notación que Elixir provee, a diferencia de otras soluciones donde las colisiones de tipos son detectadas por inferencia. Este enfoque busca combinar los beneficios que el tipado estático y dinámico ofrecen. Se implementa un prototipo, también en Elixir, de un analizador de tipos basado en el sistema de tipos definido. Además, se realizan experimentos de uso de la biblioteca así como de aceptación del enfoque del sistema de tipos. El trabajo deriva en un paper presentado en SBLP 2020: 24th Brazilian Symposium on Programming Languages. |
eu_rights_str_mv | openAccess |
format | bachelorThesis |
id | COLIBRI_9b172c60e57aca8f8f60083fe815fba3 |
identifier_str_mv | Cassola, M. y Talagorría, A. Un sistema de tipos gradual para el lenguaje funcional Elixir [en línea]. Tesis de grado. Montevideo : Udelar. FI. INCO, 2020. |
instacron_str | Universidad de la República |
institution | Universidad de la República |
instname_str | Universidad de la República |
language | spa |
language_invalid_str_mv | es |
network_acronym_str | COLIBRI |
network_name_str | COLIBRI |
oai_identifier_str | oai:colibri.udelar.edu.uy:20.500.12008/26407 |
publishDate | 2020 |
reponame_str | COLIBRI |
repository.mail.fl_str_mv | mabel.seroubian@seciu.edu.uy |
repository.name.fl_str_mv | COLIBRI - Universidad de la República |
repository_id_str | 4771 |
rights_invalid_str_mv | Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |
spelling | Cassola Mauricio, Universidad de la República (Uruguay). Facultad de IngenieríaTalagorría Agustín, Universidad de la República (Uruguay). Facultad de Ingeniería2021-02-03T16:16:40Z2021-02-03T16:16:40Z2020Cassola, M. y Talagorría, A. Un sistema de tipos gradual para el lenguaje funcional Elixir [en línea]. Tesis de grado. Montevideo : Udelar. FI. INCO, 2020.https://hdl.handle.net/20.500.12008/26407Elixir es un lenguaje funcional, relativamente nuevo, con tipado dinámico, que busca ser muy potente y tener una sintaxis moderna. Además, es un lenguaje open source, lo que permite el estudio de su código fuente y la colaboración de la comunidad en su crecimiento. En este proyecto se propone un sistema de tipos que haga posible ejecutar un chequeo de tipos de forma estática para un fragmento significativo de Elixir, sin perder su esencia y flexibilidad. El sistema de tipos que se presenta no requiere ningún tipo de cambios en la sintaxis del lenguaje. Está basado en el concepto de tipado gradual, donde el programador decide el grado de chequeos estáticos que quiere que se realicen en su programa. La información de los tipos es proporcionada mediante firmas de funciones con la notación que Elixir provee, a diferencia de otras soluciones donde las colisiones de tipos son detectadas por inferencia. Este enfoque busca combinar los beneficios que el tipado estático y dinámico ofrecen. Se implementa un prototipo, también en Elixir, de un analizador de tipos basado en el sistema de tipos definido. Además, se realizan experimentos de uso de la biblioteca así como de aceptación del enfoque del sistema de tipos. El trabajo deriva en un paper presentado en SBLP 2020: 24th Brazilian Symposium on Programming Languages.Submitted by Cabrera Gabriela (gfcabrerarossi@gmail.com) on 2021-02-03T13:55:32Z No. of bitstreams: 2 license_rdf: 23149 bytes, checksum: 1996b8461bc290aef6a27d78c67b6b52 (MD5) CT20.pdf: 1835077 bytes, checksum: 5444862271982b76274d5179e4843253 (MD5)Approved for entry into archive by Machado Jimena (jmachado@fing.edu.uy) on 2021-02-03T14:30:58Z (GMT) No. of bitstreams: 2 license_rdf: 23149 bytes, checksum: 1996b8461bc290aef6a27d78c67b6b52 (MD5) CT20.pdf: 1835077 bytes, checksum: 5444862271982b76274d5179e4843253 (MD5)Made available in DSpace by Seroubian Mabel (mabel.seroubian@seciu.edu.uy) on 2021-02-03T16:16:40Z (GMT). No. of bitstreams: 2 license_rdf: 23149 bytes, checksum: 1996b8461bc290aef6a27d78c67b6b52 (MD5) CT20.pdf: 1835077 bytes, checksum: 5444862271982b76274d5179e4843253 (MD5) Previous issue date: 202088 p.application/pdfesspaUdelar.FILas obras depositadas en el Repositorio se rigen por la Ordenanza de los Derechos de la Propiedad Intelectual de la Universidad de la República.(Res. Nº 91 de C.D.C. de 8/III/1994 – D.O. 7/IV/1994) y por la Ordenanza del Repositorio Abierto de la Universidad de la República (Res. Nº 16 de C.D.C. de 07/10/2014)info:eu-repo/semantics/openAccessLicencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0)Programación funcionalElixirSistema de tiposGradual typingUn sistema de tipos gradual para el lenguaje funcional ElixirTesis de gradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionreponame:COLIBRIinstname:Universidad de la Repúblicainstacron:Universidad de la RepúblicaCassola, MauricioTalagorría, AgustínPardo, AlbertoViera, MarcosUniversidad de la República (Uruguay). Facultad de IngenieríaIngeniero en ComputaciónLICENSElicense.txtlicense.txttext/plain; charset=utf-84267http://localhost:8080/xmlui/bitstream/20.500.12008/26407/5/license.txt6429389a7df7277b72b7924fdc7d47a9MD55CC-LICENSElicense_urllicense_urltext/plain; charset=utf-850http://localhost:8080/xmlui/bitstream/20.500.12008/26407/2/license_urla006180e3f5b2ad0b88185d14284c0e0MD52license_textlicense_texttext/html; charset=utf-838616http://localhost:8080/xmlui/bitstream/20.500.12008/26407/3/license_text36c32e9c6da50e6d55578c16944ef7f6MD53license_rdflicense_rdfapplication/rdf+xml; charset=utf-823149http://localhost:8080/xmlui/bitstream/20.500.12008/26407/4/license_rdf1996b8461bc290aef6a27d78c67b6b52MD54ORIGINALCT20.pdfCT20.pdfapplication/pdf1835077http://localhost:8080/xmlui/bitstream/20.500.12008/26407/1/CT20.pdf5444862271982b76274d5179e4843253MD5120.500.12008/264072024-04-12 14:06:39.856oai:colibri.udelar.edu.uy:20.500.12008/26407VGVybWlub3MgeSBjb25kaWNpb25lcyByZWxhdGl2YXMgYWwgZGVwb3NpdG8gZGUgb2JyYXMKCgpMYXMgb2JyYXMgZGVwb3NpdGFkYXMgZW4gZWwgUmVwb3NpdG9yaW8gc2UgcmlnZW4gcG9yIGxhIE9yZGVuYW56YSBkZSBsb3MgRGVyZWNob3MgZGUgbGEgUHJvcGllZGFkIEludGVsZWN0dWFsICBkZSBsYSBVbml2ZXJzaWRhZCBEZSBMYSBSZXDDumJsaWNhLiAoUmVzLiBOwrogOTEgZGUgQy5ELkMuIGRlIDgvSUlJLzE5OTQg4oCTIEQuTy4gNy9JVi8xOTk0KSB5ICBwb3IgbGEgT3JkZW5hbnphIGRlbCBSZXBvc2l0b3JpbyBBYmllcnRvIGRlIGxhIFVuaXZlcnNpZGFkIGRlIGxhIFJlcMO6YmxpY2EgKFJlcy4gTsK6IDE2IGRlIEMuRC5DLiBkZSAwNy8xMC8yMDE0KS4gCgpBY2VwdGFuZG8gZWwgYXV0b3IgZXN0b3MgdMOpcm1pbm9zIHkgY29uZGljaW9uZXMgZGUgZGVww7NzaXRvIGVuIENPTElCUkksIGxhIFVuaXZlcnNpZGFkIGRlIFJlcMO6YmxpY2EgcHJvY2VkZXLDoSBhOiAgCgphKSBhcmNoaXZhciBtw6FzIGRlIHVuYSBjb3BpYSBkZSBsYSBvYnJhIGVuIGxvcyBzZXJ2aWRvcmVzIGRlIGxhIFVuaXZlcnNpZGFkIGEgbG9zIGVmZWN0b3MgZGUgZ2FyYW50aXphciBhY2Nlc28sIHNlZ3VyaWRhZCB5IHByZXNlcnZhY2nDs24KYikgY29udmVydGlyIGxhIG9icmEgYSBvdHJvcyBmb3JtYXRvcyBzaSBmdWVyYSBuZWNlc2FyaW8gIHBhcmEgZmFjaWxpdGFyIHN1IHByZXNlcnZhY2nDs24geSBhY2Nlc2liaWxpZGFkIHNpbiBhbHRlcmFyIHN1IGNvbnRlbmlkby4KYykgcmVhbGl6YXIgbGEgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGRpc3BvbmVyIGVsIGFjY2VzbyBsaWJyZSB5IGdyYXR1aXRvIGEgdHJhdsOpcyBkZSBJbnRlcm5ldCBtZWRpYW50ZSBsYSBwdWJsaWNhY2nDs24gZGUgbGEgb2JyYSBiYWpvIGxhIGxpY2VuY2lhIENyZWF0aXZlIENvbW1vbnMgc2VsZWNjaW9uYWRhIHBvciBlbCBwcm9waW8gYXV0b3IuCgoKRW4gY2FzbyBxdWUgZWwgYXV0b3IgaGF5YSBkaWZ1bmRpZG8geSBkYWRvIGEgcHVibGljaWRhZCBhIGxhIG9icmEgZW4gZm9ybWEgcHJldmlhLCAgcG9kcsOhIHNvbGljaXRhciB1biBwZXLDrW9kbyBkZSBlbWJhcmdvIHNvYnJlIGxhIGRpc3BvbmliaWxpZGFkIHDDumJsaWNhIGRlIGxhIG1pc21hLCBlbCBjdWFsIGNvbWVuemFyw6EgYSBwYXJ0aXIgZGUgbGEgYWNlcHRhY2nDs24gZGUgZXN0ZSBkb2N1bWVudG8geSBoYXN0YSBsYSBmZWNoYSBxdWUgaW5kaXF1ZSAuCgpFbCBhdXRvciBhc2VndXJhIHF1ZSBsYSBvYnJhIG5vIGluZnJpZ2UgbmluZ8O6biBkZXJlY2hvIHNvYnJlIHRlcmNlcm9zLCB5YSBzZWEgZGUgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gY3VhbHF1aWVyIG90cm8uCgpFbCBhdXRvciBnYXJhbnRpemEgcXVlIHNpIGVsIGRvY3VtZW50byBjb250aWVuZSBtYXRlcmlhbGVzIGRlIGxvcyBjdWFsZXMgbm8gdGllbmUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCAgaGEgb2J0ZW5pZG8gZWwgcGVybWlzbyBkZWwgcHJvcGlldGFyaW8gZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCB5IHF1ZSBlc2UgbWF0ZXJpYWwgY3V5b3MgZGVyZWNob3Mgc29uIGRlIHRlcmNlcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIHkgcmVjb25vY2lkbyBlbiBlbCB0ZXh0byBvIGNvbnRlbmlkbyBkZWwgZG9jdW1lbnRvIGRlcG9zaXRhZG8gZW4gZWwgUmVwb3NpdG9yaW8uCgpFbiBvYnJhcyBkZSBhdXRvcsOtYSBtw7psdGlwbGUgL3NlIHByZXN1bWUvIHF1ZSBlbCBhdXRvciBkZXBvc2l0YW50ZSBkZWNsYXJhIHF1ZSBoYSByZWNhYmFkbyBlbCBjb25zZW50aW1pZW50byBkZSB0b2RvcyBsb3MgYXV0b3JlcyBwYXJhIHB1YmxpY2FybGEgZW4gZWwgUmVwb3NpdG9yaW8sIHNpZW5kbyDDqXN0ZSBlbCDDum5pY28gcmVzcG9uc2FibGUgZnJlbnRlIGEgY3VhbHF1aWVyIHRpcG8gZGUgcmVjbGFtYWNpw7NuIGRlIGxvcyBvdHJvcyBjb2F1dG9yZXMuCgpFbCBhdXRvciBzZXLDoSByZXNwb25zYWJsZSBkZWwgY29udGVuaWRvIGRlIGxvcyBkb2N1bWVudG9zIHF1ZSBkZXBvc2l0YS4gTGEgVURFTEFSIG5vIHNlcsOhIHJlc3BvbnNhYmxlIHBvciBsYXMgZXZlbnR1YWxlcyB2aW9sYWNpb25lcyBhbCBkZXJlY2hvIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBlbiBxdWUgcHVlZGEgaW5jdXJyaXIgZWwgYXV0b3IuCgpBbnRlIGN1YWxxdWllciBkZW51bmNpYSBkZSB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbCwgbGEgVURFTEFSICBhZG9wdGFyw6EgdG9kYXMgbGFzIG1lZGlkYXMgbmVjZXNhcmlhcyBwYXJhIGV2aXRhciBsYSBjb250aW51YWNpw7NuIGRlIGRpY2hhIGluZnJhY2Npw7NuLCBsYXMgcXVlIHBvZHLDoW4gaW5jbHVpciBlbCByZXRpcm8gZGVsIGFjY2VzbyBhIGxvcyBjb250ZW5pZG9zIHkvbyBtZXRhZGF0b3MgZGVsIGRvY3VtZW50byByZXNwZWN0aXZvLgoKTGEgb2JyYSBzZSBwb25kcsOhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBhIHRyYXbDqXMgZGUgbGFzIGxpY2VuY2lhcyBDcmVhdGl2ZSBDb21tb25zLCBlbCBhdXRvciBwb2Ryw6Egc2VsZWNjaW9uYXIgdW5hIGRlIGxhcyA2IGxpY2VuY2lhcyBkaXNwb25pYmxlczoKCgpBdHJpYnVjacOzbiAoQ0MgLSBCeSk6IFBlcm1pdGUgdXNhciBsYSBvYnJhIHkgZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMsIGluY2x1c28gY29uIGZpbmVzIGNvbWVyY2lhbGVzLCBzaWVtcHJlIHF1ZSBzZSByZWNvbm96Y2EgYWwgYXV0b3IuCgpBdHJpYnVjacOzbiDigJMgQ29tcGFydGlyIElndWFsIChDQyAtIEJ5LVNBKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgaW5jbHVzbyBjb24gZmluZXMgY29tZXJjaWFsZXMsIHBlcm8gbGEgZGlzdHJpYnVjacOzbiBkZSBsYXMgb2JyYXMgZGVyaXZhZGFzIGRlYmUgaGFjZXJzZSBtZWRpYW50ZSB1bmEgbGljZW5jaWEgaWTDqW50aWNhIGEgbGEgZGUgbGEgb2JyYSBvcmlnaW5hbCwgcmVjb25vY2llbmRvIGEgbG9zIGF1dG9yZXMuCgpBdHJpYnVjacOzbiDigJMgTm8gQ29tZXJjaWFsIChDQyAtIEJ5LU5DKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgc2llbXByZSB5IGN1YW5kbyBlc29zIHVzb3Mgbm8gdGVuZ2FuIGZpbmVzIGNvbWVyY2lhbGVzLCByZWNvbm9jaWVuZG8gYWwgYXV0b3IuCgpBdHJpYnVjacOzbiDigJMgU2luIERlcml2YWRhcyAoQ0MgLSBCeS1ORCk6IFBlcm1pdGUgZWwgdXNvIGRlIGxhIG9icmEsIGluY2x1c28gY29uIGZpbmVzIGNvbWVyY2lhbGVzLCBwZXJvIG5vIHNlIHBlcm1pdGUgZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMsIGRlYmllbmRvIHJlY29ub2NlciBhbCBhdXRvci4KCkF0cmlidWNpw7NuIOKAkyBObyBDb21lcmNpYWwg4oCTIENvbXBhcnRpciBJZ3VhbCAoQ0Mg4oCTIEJ5LU5DLVNBKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgc2llbXByZSB5IGN1YW5kbyBlc29zIHVzb3Mgbm8gdGVuZ2FuIGZpbmVzIGNvbWVyY2lhbGVzIHkgbGEgZGlzdHJpYnVjacOzbiBkZSBsYXMgb2JyYXMgZGVyaXZhZGFzIHNlIGhhZ2EgbWVkaWFudGUgbGljZW5jaWEgaWTDqW50aWNhIGEgbGEgZGUgbGEgb2JyYSBvcmlnaW5hbCwgcmVjb25vY2llbmRvIGEgbG9zIGF1dG9yZXMuCgpBdHJpYnVjacOzbiDigJMgTm8gQ29tZXJjaWFsIOKAkyBTaW4gRGVyaXZhZGFzIChDQyAtIEJ5LU5DLU5EKTogUGVybWl0ZSB1c2FyIGxhIG9icmEsIHBlcm8gbm8gc2UgcGVybWl0ZSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcyB5IG5vIHNlIHBlcm1pdGUgdXNvIGNvbiBmaW5lcyBjb21lcmNpYWxlcywgZGViaWVuZG8gcmVjb25vY2VyIGFsIGF1dG9yLgoKTG9zIHVzb3MgcHJldmlzdG9zIGVuIGxhcyBsaWNlbmNpYXMgaW5jbHV5ZW4gbGEgZW5hamVuYWNpw7NuLCByZXByb2R1Y2Npw7NuLCBjb211bmljYWNpw7NuLCBwdWJsaWNhY2nDs24sIGRpc3RyaWJ1Y2nDs24geSBwdWVzdGEgYSBkaXNwb3NpY2nDs24gZGVsIHDDumJsaWNvLiBMYSBjcmVhY2nDs24gZGUgb2JyYXMgZGVyaXZhZGFzIGluY2x1eWUgbGEgYWRhcHRhY2nDs24sIHRyYWR1Y2Npw7NuIHkgZWwgcmVtaXguCgpDdWFuZG8gc2Ugc2VsZWNjaW9uZSB1bmEgbGljZW5jaWEgcXVlIGhhYmlsaXRlIHVzb3MgY29tZXJjaWFsZXMsIGVsIGRlcMOzc2l0byBkZWJlcsOhIHNlciBhY29tcGHDsWFkbyBkZWwgYXZhbCBkZWwgamVyYXJjYSBtw6F4aW1vIGRlbCBTZXJ2aWNpbyBjb3JyZXNwb25kaWVudGUuCg==Universidadhttps://udelar.edu.uy/https://www.colibri.udelar.edu.uy/oai/requestmabel.seroubian@seciu.edu.uyUruguayopendoar:47712024-07-25T14:46:21.679640COLIBRI - Universidad de la Repúblicafalse |
spellingShingle | Un sistema de tipos gradual para el lenguaje funcional Elixir Cassola, Mauricio Programación funcional Elixir Sistema de tipos Gradual typing |
status_str | acceptedVersion |
title | Un sistema de tipos gradual para el lenguaje funcional Elixir |
title_full | Un sistema de tipos gradual para el lenguaje funcional Elixir |
title_fullStr | Un sistema de tipos gradual para el lenguaje funcional Elixir |
title_full_unstemmed | Un sistema de tipos gradual para el lenguaje funcional Elixir |
title_short | Un sistema de tipos gradual para el lenguaje funcional Elixir |
title_sort | Un sistema de tipos gradual para el lenguaje funcional Elixir |
topic | Programación funcional Elixir Sistema de tipos Gradual typing |
url | https://hdl.handle.net/20.500.12008/26407 |