Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir

Ferencz Cohn, Damián

Supervisor(es): Pardo, Alberto - Viera, Marcos

Resumen:

En este proyecto se desarrolla un sistema de tipos para un fragmento importante de Elixir, un lenguaje de programación funcional de uso industrial con tipado dinámico que se ejecuta sobre la máquina virtual de Erlang. El sistema propuesto tiene la característica de ser algorítmico y estar basado en subtipado estructural. Además, incorpora a su diseño la filosofía del gradual typing, con lo que se hace posible restringir los chequeos de tipo a las porciones anotadas del programa. En el trabajo también se introduce una nueva semántica de evaluación para los programas chequeados con la que se consigue garantizar que el comportamiento de las porciones anotadas del código se preserva durante la ejecución sin cambios con respecto al sistema estático. La semántica se basa en una etapa de inserción de casts de tipo en posiciones críticas del código fuente, que ocurre a posteriori del chequeo de tipos y previo a la compilación. Se presenta también una implementación concreta del sistema de tipos. El proceso de inserción de casts es implementado como una traducción al mismo lenguaje ahora enriquecido con una nueva directiva para casts de tipo, que se consigue representar dentro del lenguaje utilizando las herramientas nativas que Elixir provee para la metaprogramación.


Detalles Bibliográficos
2023
Elixir
Gradual typing
Type systems
Español
Universidad de la República
COLIBRI
https://hdl.handle.net/20.500.12008/37628
Acceso abierto
Licencia Creative Commons Atribución (CC - By 4.0)
_version_ 1807523229330309120
author Ferencz Cohn, Damián
author_facet Ferencz Cohn, Damián
author_role author
bitstream.checksum.fl_str_mv 6429389a7df7277b72b7924fdc7d47a9
a0ebbeafb9d2ec7cbb19d7137ebc392c
2fc523bba4df4b71d4fa008ef2dea84b
9fdbed07f52437945402c4e70fa4773e
f04dd88d1312da65c65d85c499b21032
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
bitstream.url.fl_str_mv http://localhost:8080/xmlui/bitstream/20.500.12008/37628/5/license.txt
http://localhost:8080/xmlui/bitstream/20.500.12008/37628/2/license_url
http://localhost:8080/xmlui/bitstream/20.500.12008/37628/3/license_text
http://localhost:8080/xmlui/bitstream/20.500.12008/37628/4/license_rdf
http://localhost:8080/xmlui/bitstream/20.500.12008/37628/1/Fer23.pdf
collection COLIBRI
dc.contributor.filiacion.none.fl_str_mv Ferencz Cohn Damiá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 Ferencz Cohn, Damián
dc.date.accessioned.none.fl_str_mv 2023-06-20T17:28:05Z
dc.date.available.none.fl_str_mv 2023-06-20T17:28:05Z
dc.date.issued.none.fl_str_mv 2023
dc.description.abstract.none.fl_txt_mv En este proyecto se desarrolla un sistema de tipos para un fragmento importante de Elixir, un lenguaje de programación funcional de uso industrial con tipado dinámico que se ejecuta sobre la máquina virtual de Erlang. El sistema propuesto tiene la característica de ser algorítmico y estar basado en subtipado estructural. Además, incorpora a su diseño la filosofía del gradual typing, con lo que se hace posible restringir los chequeos de tipo a las porciones anotadas del programa. En el trabajo también se introduce una nueva semántica de evaluación para los programas chequeados con la que se consigue garantizar que el comportamiento de las porciones anotadas del código se preserva durante la ejecución sin cambios con respecto al sistema estático. La semántica se basa en una etapa de inserción de casts de tipo en posiciones críticas del código fuente, que ocurre a posteriori del chequeo de tipos y previo a la compilación. Se presenta también una implementación concreta del sistema de tipos. El proceso de inserción de casts es implementado como una traducción al mismo lenguaje ahora enriquecido con una nueva directiva para casts de tipo, que se consigue representar dentro del lenguaje utilizando las herramientas nativas que Elixir provee para la metaprogramación.
dc.format.extent.es.fl_str_mv 143 p.
dc.format.mimetype.es.fl_str_mv application/pdf
dc.identifier.citation.es.fl_str_mv Ferencz Cohn, D. Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir [en línea] Tesis de grado. Montevideo : Udelar. FI. INCO, 2023.
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/20.500.12008/37628
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 (CC - By 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 Elixir
Gradual typing
Type systems
dc.title.none.fl_str_mv Un sistema de tipos gradual con semántica de casts para el lenguaje 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 En este proyecto se desarrolla un sistema de tipos para un fragmento importante de Elixir, un lenguaje de programación funcional de uso industrial con tipado dinámico que se ejecuta sobre la máquina virtual de Erlang. El sistema propuesto tiene la característica de ser algorítmico y estar basado en subtipado estructural. Además, incorpora a su diseño la filosofía del gradual typing, con lo que se hace posible restringir los chequeos de tipo a las porciones anotadas del programa. En el trabajo también se introduce una nueva semántica de evaluación para los programas chequeados con la que se consigue garantizar que el comportamiento de las porciones anotadas del código se preserva durante la ejecución sin cambios con respecto al sistema estático. La semántica se basa en una etapa de inserción de casts de tipo en posiciones críticas del código fuente, que ocurre a posteriori del chequeo de tipos y previo a la compilación. Se presenta también una implementación concreta del sistema de tipos. El proceso de inserción de casts es implementado como una traducción al mismo lenguaje ahora enriquecido con una nueva directiva para casts de tipo, que se consigue representar dentro del lenguaje utilizando las herramientas nativas que Elixir provee para la metaprogramación.
eu_rights_str_mv openAccess
format bachelorThesis
id COLIBRI_8375f25f50439ee749147bd92c422c73
identifier_str_mv Ferencz Cohn, D. Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir [en línea] Tesis de grado. Montevideo : Udelar. FI. INCO, 2023.
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/37628
publishDate 2023
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 (CC - By 4.0)
spelling Ferencz Cohn Damián, Universidad de la República (Uruguay). Facultad de Ingeniería2023-06-20T17:28:05Z2023-06-20T17:28:05Z2023Ferencz Cohn, D. Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir [en línea] Tesis de grado. Montevideo : Udelar. FI. INCO, 2023.https://hdl.handle.net/20.500.12008/37628En este proyecto se desarrolla un sistema de tipos para un fragmento importante de Elixir, un lenguaje de programación funcional de uso industrial con tipado dinámico que se ejecuta sobre la máquina virtual de Erlang. El sistema propuesto tiene la característica de ser algorítmico y estar basado en subtipado estructural. Además, incorpora a su diseño la filosofía del gradual typing, con lo que se hace posible restringir los chequeos de tipo a las porciones anotadas del programa. En el trabajo también se introduce una nueva semántica de evaluación para los programas chequeados con la que se consigue garantizar que el comportamiento de las porciones anotadas del código se preserva durante la ejecución sin cambios con respecto al sistema estático. La semántica se basa en una etapa de inserción de casts de tipo en posiciones críticas del código fuente, que ocurre a posteriori del chequeo de tipos y previo a la compilación. Se presenta también una implementación concreta del sistema de tipos. El proceso de inserción de casts es implementado como una traducción al mismo lenguaje ahora enriquecido con una nueva directiva para casts de tipo, que se consigue representar dentro del lenguaje utilizando las herramientas nativas que Elixir provee para la metaprogramación.Submitted by Cabrera Gabriela (gfcabrerarossi@gmail.com) on 2023-06-20T15:06:37Z No. of bitstreams: 2 license_rdf: 19875 bytes, checksum: 9fdbed07f52437945402c4e70fa4773e (MD5) Fer23.pdf: 1370927 bytes, checksum: f04dd88d1312da65c65d85c499b21032 (MD5)Approved for entry into archive by Berón Cecilia (cberon@fing.edu.uy) on 2023-06-20T17:21:53Z (GMT) No. of bitstreams: 2 license_rdf: 19875 bytes, checksum: 9fdbed07f52437945402c4e70fa4773e (MD5) Fer23.pdf: 1370927 bytes, checksum: f04dd88d1312da65c65d85c499b21032 (MD5)Made available in DSpace by Luna Fabiana (fabiana.luna@seciu.edu.uy) on 2023-06-20T17:28:05Z (GMT). No. of bitstreams: 2 license_rdf: 19875 bytes, checksum: 9fdbed07f52437945402c4e70fa4773e (MD5) Fer23.pdf: 1370927 bytes, checksum: f04dd88d1312da65c65d85c499b21032 (MD5) Previous issue date: 2023143 p.application/pdfesspaUdelar. FI.Las 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 (CC - By 4.0)ElixirGradual typingType systemsUn sistema de tipos gradual con semántica de casts para el lenguaje ElixirTesis de gradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionreponame:COLIBRIinstname:Universidad de la Repúblicainstacron:Universidad de la RepúblicaFerencz Cohn, DamiánPardo, AlbertoViera, MarcosUniversidad de la República (Uruguay). Facultad de Ingeniería.Ingeniero en Computación.LICENSElicense.txtlicense.txttext/plain; charset=utf-84267http://localhost:8080/xmlui/bitstream/20.500.12008/37628/5/license.txt6429389a7df7277b72b7924fdc7d47a9MD55CC-LICENSElicense_urllicense_urltext/plain; charset=utf-844http://localhost:8080/xmlui/bitstream/20.500.12008/37628/2/license_urla0ebbeafb9d2ec7cbb19d7137ebc392cMD52license_textlicense_texttext/html; charset=utf-838552http://localhost:8080/xmlui/bitstream/20.500.12008/37628/3/license_text2fc523bba4df4b71d4fa008ef2dea84bMD53license_rdflicense_rdfapplication/rdf+xml; charset=utf-819875http://localhost:8080/xmlui/bitstream/20.500.12008/37628/4/license_rdf9fdbed07f52437945402c4e70fa4773eMD54ORIGINALFer23.pdfFer23.pdfapplication/pdf1370927http://localhost:8080/xmlui/bitstream/20.500.12008/37628/1/Fer23.pdff04dd88d1312da65c65d85c499b21032MD5120.500.12008/376282024-04-12 14:06:40.613oai:colibri.udelar.edu.uy:20.500.12008/37628VGVybWlub3MgeSBjb25kaWNpb25lcyByZWxhdGl2YXMgYWwgZGVwb3NpdG8gZGUgb2JyYXMKCgpMYXMgb2JyYXMgZGVwb3NpdGFkYXMgZW4gZWwgUmVwb3NpdG9yaW8gc2UgcmlnZW4gcG9yIGxhIE9yZGVuYW56YSBkZSBsb3MgRGVyZWNob3MgZGUgbGEgUHJvcGllZGFkIEludGVsZWN0dWFsICBkZSBsYSBVbml2ZXJzaWRhZCBEZSBMYSBSZXDDumJsaWNhLiAoUmVzLiBOwrogOTEgZGUgQy5ELkMuIGRlIDgvSUlJLzE5OTQg4oCTIEQuTy4gNy9JVi8xOTk0KSB5ICBwb3IgbGEgT3JkZW5hbnphIGRlbCBSZXBvc2l0b3JpbyBBYmllcnRvIGRlIGxhIFVuaXZlcnNpZGFkIGRlIGxhIFJlcMO6YmxpY2EgKFJlcy4gTsK6IDE2IGRlIEMuRC5DLiBkZSAwNy8xMC8yMDE0KS4gCgpBY2VwdGFuZG8gZWwgYXV0b3IgZXN0b3MgdMOpcm1pbm9zIHkgY29uZGljaW9uZXMgZGUgZGVww7NzaXRvIGVuIENPTElCUkksIGxhIFVuaXZlcnNpZGFkIGRlIFJlcMO6YmxpY2EgcHJvY2VkZXLDoSBhOiAgCgphKSBhcmNoaXZhciBtw6FzIGRlIHVuYSBjb3BpYSBkZSBsYSBvYnJhIGVuIGxvcyBzZXJ2aWRvcmVzIGRlIGxhIFVuaXZlcnNpZGFkIGEgbG9zIGVmZWN0b3MgZGUgZ2FyYW50aXphciBhY2Nlc28sIHNlZ3VyaWRhZCB5IHByZXNlcnZhY2nDs24KYikgY29udmVydGlyIGxhIG9icmEgYSBvdHJvcyBmb3JtYXRvcyBzaSBmdWVyYSBuZWNlc2FyaW8gIHBhcmEgZmFjaWxpdGFyIHN1IHByZXNlcnZhY2nDs24geSBhY2Nlc2liaWxpZGFkIHNpbiBhbHRlcmFyIHN1IGNvbnRlbmlkby4KYykgcmVhbGl6YXIgbGEgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGRpc3BvbmVyIGVsIGFjY2VzbyBsaWJyZSB5IGdyYXR1aXRvIGEgdHJhdsOpcyBkZSBJbnRlcm5ldCBtZWRpYW50ZSBsYSBwdWJsaWNhY2nDs24gZGUgbGEgb2JyYSBiYWpvIGxhIGxpY2VuY2lhIENyZWF0aXZlIENvbW1vbnMgc2VsZWNjaW9uYWRhIHBvciBlbCBwcm9waW8gYXV0b3IuCgoKRW4gY2FzbyBxdWUgZWwgYXV0b3IgaGF5YSBkaWZ1bmRpZG8geSBkYWRvIGEgcHVibGljaWRhZCBhIGxhIG9icmEgZW4gZm9ybWEgcHJldmlhLCAgcG9kcsOhIHNvbGljaXRhciB1biBwZXLDrW9kbyBkZSBlbWJhcmdvIHNvYnJlIGxhIGRpc3BvbmliaWxpZGFkIHDDumJsaWNhIGRlIGxhIG1pc21hLCBlbCBjdWFsIGNvbWVuemFyw6EgYSBwYXJ0aXIgZGUgbGEgYWNlcHRhY2nDs24gZGUgZXN0ZSBkb2N1bWVudG8geSBoYXN0YSBsYSBmZWNoYSBxdWUgaW5kaXF1ZSAuCgpFbCBhdXRvciBhc2VndXJhIHF1ZSBsYSBvYnJhIG5vIGluZnJpZ2UgbmluZ8O6biBkZXJlY2hvIHNvYnJlIHRlcmNlcm9zLCB5YSBzZWEgZGUgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gY3VhbHF1aWVyIG90cm8uCgpFbCBhdXRvciBnYXJhbnRpemEgcXVlIHNpIGVsIGRvY3VtZW50byBjb250aWVuZSBtYXRlcmlhbGVzIGRlIGxvcyBjdWFsZXMgbm8gdGllbmUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCAgaGEgb2J0ZW5pZG8gZWwgcGVybWlzbyBkZWwgcHJvcGlldGFyaW8gZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCB5IHF1ZSBlc2UgbWF0ZXJpYWwgY3V5b3MgZGVyZWNob3Mgc29uIGRlIHRlcmNlcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIHkgcmVjb25vY2lkbyBlbiBlbCB0ZXh0byBvIGNvbnRlbmlkbyBkZWwgZG9jdW1lbnRvIGRlcG9zaXRhZG8gZW4gZWwgUmVwb3NpdG9yaW8uCgpFbiBvYnJhcyBkZSBhdXRvcsOtYSBtw7psdGlwbGUgL3NlIHByZXN1bWUvIHF1ZSBlbCBhdXRvciBkZXBvc2l0YW50ZSBkZWNsYXJhIHF1ZSBoYSByZWNhYmFkbyBlbCBjb25zZW50aW1pZW50byBkZSB0b2RvcyBsb3MgYXV0b3JlcyBwYXJhIHB1YmxpY2FybGEgZW4gZWwgUmVwb3NpdG9yaW8sIHNpZW5kbyDDqXN0ZSBlbCDDum5pY28gcmVzcG9uc2FibGUgZnJlbnRlIGEgY3VhbHF1aWVyIHRpcG8gZGUgcmVjbGFtYWNpw7NuIGRlIGxvcyBvdHJvcyBjb2F1dG9yZXMuCgpFbCBhdXRvciBzZXLDoSByZXNwb25zYWJsZSBkZWwgY29udGVuaWRvIGRlIGxvcyBkb2N1bWVudG9zIHF1ZSBkZXBvc2l0YS4gTGEgVURFTEFSIG5vIHNlcsOhIHJlc3BvbnNhYmxlIHBvciBsYXMgZXZlbnR1YWxlcyB2aW9sYWNpb25lcyBhbCBkZXJlY2hvIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBlbiBxdWUgcHVlZGEgaW5jdXJyaXIgZWwgYXV0b3IuCgpBbnRlIGN1YWxxdWllciBkZW51bmNpYSBkZSB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGRlIHByb3BpZWRhZCBpbnRlbGVjdHVhbCwgbGEgVURFTEFSICBhZG9wdGFyw6EgdG9kYXMgbGFzIG1lZGlkYXMgbmVjZXNhcmlhcyBwYXJhIGV2aXRhciBsYSBjb250aW51YWNpw7NuIGRlIGRpY2hhIGluZnJhY2Npw7NuLCBsYXMgcXVlIHBvZHLDoW4gaW5jbHVpciBlbCByZXRpcm8gZGVsIGFjY2VzbyBhIGxvcyBjb250ZW5pZG9zIHkvbyBtZXRhZGF0b3MgZGVsIGRvY3VtZW50byByZXNwZWN0aXZvLgoKTGEgb2JyYSBzZSBwb25kcsOhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBhIHRyYXbDqXMgZGUgbGFzIGxpY2VuY2lhcyBDcmVhdGl2ZSBDb21tb25zLCBlbCBhdXRvciBwb2Ryw6Egc2VsZWNjaW9uYXIgdW5hIGRlIGxhcyA2IGxpY2VuY2lhcyBkaXNwb25pYmxlczoKCgpBdHJpYnVjacOzbiAoQ0MgLSBCeSk6IFBlcm1pdGUgdXNhciBsYSBvYnJhIHkgZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMsIGluY2x1c28gY29uIGZpbmVzIGNvbWVyY2lhbGVzLCBzaWVtcHJlIHF1ZSBzZSByZWNvbm96Y2EgYWwgYXV0b3IuCgpBdHJpYnVjacOzbiDigJMgQ29tcGFydGlyIElndWFsIChDQyAtIEJ5LVNBKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgaW5jbHVzbyBjb24gZmluZXMgY29tZXJjaWFsZXMsIHBlcm8gbGEgZGlzdHJpYnVjacOzbiBkZSBsYXMgb2JyYXMgZGVyaXZhZGFzIGRlYmUgaGFjZXJzZSBtZWRpYW50ZSB1bmEgbGljZW5jaWEgaWTDqW50aWNhIGEgbGEgZGUgbGEgb2JyYSBvcmlnaW5hbCwgcmVjb25vY2llbmRvIGEgbG9zIGF1dG9yZXMuCgpBdHJpYnVjacOzbiDigJMgTm8gQ29tZXJjaWFsIChDQyAtIEJ5LU5DKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgc2llbXByZSB5IGN1YW5kbyBlc29zIHVzb3Mgbm8gdGVuZ2FuIGZpbmVzIGNvbWVyY2lhbGVzLCByZWNvbm9jaWVuZG8gYWwgYXV0b3IuCgpBdHJpYnVjacOzbiDigJMgU2luIERlcml2YWRhcyAoQ0MgLSBCeS1ORCk6IFBlcm1pdGUgZWwgdXNvIGRlIGxhIG9icmEsIGluY2x1c28gY29uIGZpbmVzIGNvbWVyY2lhbGVzLCBwZXJvIG5vIHNlIHBlcm1pdGUgZ2VuZXJhciBvYnJhcyBkZXJpdmFkYXMsIGRlYmllbmRvIHJlY29ub2NlciBhbCBhdXRvci4KCkF0cmlidWNpw7NuIOKAkyBObyBDb21lcmNpYWwg4oCTIENvbXBhcnRpciBJZ3VhbCAoQ0Mg4oCTIEJ5LU5DLVNBKTogUGVybWl0ZSB1c2FyIGxhIG9icmEgeSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcywgc2llbXByZSB5IGN1YW5kbyBlc29zIHVzb3Mgbm8gdGVuZ2FuIGZpbmVzIGNvbWVyY2lhbGVzIHkgbGEgZGlzdHJpYnVjacOzbiBkZSBsYXMgb2JyYXMgZGVyaXZhZGFzIHNlIGhhZ2EgbWVkaWFudGUgbGljZW5jaWEgaWTDqW50aWNhIGEgbGEgZGUgbGEgb2JyYSBvcmlnaW5hbCwgcmVjb25vY2llbmRvIGEgbG9zIGF1dG9yZXMuCgpBdHJpYnVjacOzbiDigJMgTm8gQ29tZXJjaWFsIOKAkyBTaW4gRGVyaXZhZGFzIChDQyAtIEJ5LU5DLU5EKTogUGVybWl0ZSB1c2FyIGxhIG9icmEsIHBlcm8gbm8gc2UgcGVybWl0ZSBnZW5lcmFyIG9icmFzIGRlcml2YWRhcyB5IG5vIHNlIHBlcm1pdGUgdXNvIGNvbiBmaW5lcyBjb21lcmNpYWxlcywgZGViaWVuZG8gcmVjb25vY2VyIGFsIGF1dG9yLgoKTG9zIHVzb3MgcHJldmlzdG9zIGVuIGxhcyBsaWNlbmNpYXMgaW5jbHV5ZW4gbGEgZW5hamVuYWNpw7NuLCByZXByb2R1Y2Npw7NuLCBjb211bmljYWNpw7NuLCBwdWJsaWNhY2nDs24sIGRpc3RyaWJ1Y2nDs24geSBwdWVzdGEgYSBkaXNwb3NpY2nDs24gZGVsIHDDumJsaWNvLiBMYSBjcmVhY2nDs24gZGUgb2JyYXMgZGVyaXZhZGFzIGluY2x1eWUgbGEgYWRhcHRhY2nDs24sIHRyYWR1Y2Npw7NuIHkgZWwgcmVtaXguCgpDdWFuZG8gc2Ugc2VsZWNjaW9uZSB1bmEgbGljZW5jaWEgcXVlIGhhYmlsaXRlIHVzb3MgY29tZXJjaWFsZXMsIGVsIGRlcMOzc2l0byBkZWJlcsOhIHNlciBhY29tcGHDsWFkbyBkZWwgYXZhbCBkZWwgamVyYXJjYSBtw6F4aW1vIGRlbCBTZXJ2aWNpbyBjb3JyZXNwb25kaWVudGUuCg==Universidadhttps://udelar.edu.uy/https://www.colibri.udelar.edu.uy/oai/requestmabel.seroubian@seciu.edu.uyUruguayopendoar:47712024-07-25T14:46:28.517600COLIBRI - Universidad de la Repúblicafalse
spellingShingle Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir
Ferencz Cohn, Damián
Elixir
Gradual typing
Type systems
status_str acceptedVersion
title Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir
title_full Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir
title_fullStr Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir
title_full_unstemmed Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir
title_short Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir
title_sort Un sistema de tipos gradual con semántica de casts para el lenguaje Elixir
topic Elixir
Gradual typing
Type systems
url https://hdl.handle.net/20.500.12008/37628