Show simple item record

Professor Advisordc.contributor.advisorTanter, Éric
Professor Advisordc.contributor.advisorToro Ipinza, Matías
Authordc.contributor.authorLabrada Deniz, Elizabeth
Associate professordc.contributor.otherDevriese, Dominique
Associate professordc.contributor.otherOlmedo Berón, Federico
Associate professordc.contributor.otherFigueroa Palet, Ismael
Admission datedc.date.accessioned2023-01-27T13:54:36Z
Available datedc.date.available2023-01-27T13:54:36Z
Publication datedc.date.issued2022
Identifierdc.identifier.urihttps://repositorio.uchile.cl/handle/2250/191833
Abstractdc.description.abstractEl polimorfismo paramétrico es un mecanismo de abstracción ampliamente utilizado en los lenguajes de programación, que permite la definición genérica de funciones y tipos, y proporciona reutilización de código e independencia de representación. Por otra parte, la tipificación gradual permite una transición paulatina entre la comprobación de tipos estática y dinámica basada en anotaciones de tipos controladas por el programador, integrando las ventajas de ambos mundos. Llevar los beneficios del tipado gradual a un lenguaje con polimorfismo paramétrico como el Sistema F, preservando al mismo tiempo la parametricidad relacional, ha resultado ser un gran reto. La dificultad observada en trabajos anteriores se basa en una fuerte tensión entre las dos propiedades deseables de un lenguaje paramétrico gradual, la parametricidad, y la gradualidad, considerando que las funciones pueden intentar utilizar la tipificación gradual para eludir la parametricidad. Los primeros intentos se formularon hace más de una década, y se han propuesto además varios diseños con sintaxis, comportamientos y propiedades variables. Se ha demostrado que, sin tomar precauciones, la parametricidad podría ser violada en un lenguaje gradual. Por esta razón, todos los lenguajes polimórficos graduales propuestos han utilizado alguna forma de mecanismo de sellado/desellado. La idea detrás del sellado/desellado es que un valor sellado con una clave sólo puede ser manipulado por una expresión de desellado que conozca la clave; de lo contrario, se lanza un error. Esta tesis contribuye a la adopción del polimorfismo paramétrico en un lenguaje gradual, preservando la sintaxis del Sistema F y satisfaciendo la gradualidad y parametricidad al mismo tiempo. Exploramos en profundidad la integración de estas dos características derivando dos lenguajes, GSF y Funky. GSF es un lenguaje fuente paramétrico gradual que viola la gradualidad en algunos escenarios. No obstante, establecemos una propiedad más débil que nos permite refutar varias afirmaciones sobre teoremas gratis graduales, aclarando el tipo de razonamiento que admite la parametricidad gradual. Funky es un lenguaje intermedio que va más allá, satisfaciendo plenamente la parametricidad y la gradualidad, y permitiendo la incrustación de diferentes lenguajes fuentes paramétricos graduales. Basándonos en la observación de que la tensión entre gradualidad y parametricidad proviene de la decisión temprana de sellar valores basada en la información de tipo, proponemos el sellado plausible como un nuevo mecanismo de lenguaje intermedio que permite posponer tales decisiones al tiempo de ejecución. Funky soporta el sellado plausible en un entorno simplificado en el que el polimorfismo se restringe a las instancias con tipos base y variables. Aunque los resultados presentados tienen algunas limitaciones, proponen una nueva forma de reconciliar la parametricidad y la gradualidad en un lenguaje con la sintaxis del Sistema F. Además, algunas de nuestras técnicas novedosas son potencialmente reutilizables en otros entornos.es_ES
Lenguagedc.language.isoenes_ES
Publisherdc.publisherUniversidad de Chilees_ES
Type of licensedc.rightsAttribution-NonCommercial-NoDerivs 3.0 United States*
Link to Licensedc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/us/*
Keywordsdc.subjectLenguajes de programación (Computadores)
Keywordsdc.subjectPolimorfismo Paramétrico
Keywordsdc.subjectParametricidad
Keywordsdc.subjectTipado gradual
Keywordsdc.subjectSintaxis del Sistema F
Títulodc.titleGradual system Fes_ES
Document typedc.typeTesises_ES
dc.description.versiondc.description.versionVersión original del autores_ES
dcterms.accessRightsdcterms.accessRightsAcceso abiertoes_ES
Catalogueruchile.catalogadorgmmes_ES
Departmentuchile.departamentoDepartamento de Ciencias de la Computaciónes_ES
Facultyuchile.facultadFacultad de Ciencias Físicas y Matemáticases_ES
uchile.carrerauchile.carreraIngeniería Civil en Computaciónes_ES
uchile.gradoacademicouchile.gradoacademicoDoctoradoes_ES
uchile.notadetesisuchile.notadetesisTesis para optar al grado de Doctora en Ciencias, Mención Computaciónes_ES


Files in this item

Icon
Icon

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 United States
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 United States