Estudio de un lenguaje gradual con subtipos nominales
Tesis

Access note
Acceso abierto
Publication date
2024Metadata
Show full item record
Cómo citar
Toro Ipinza, Matías
Cómo citar
Estudio de un lenguaje gradual con subtipos nominales
Author
Professor Advisor
Abstract
En el mundo de la programación existen diversas formas de clasificar
a los lenguajes de programación, una de estas clasificaciones
corresponde al tratamiento que realiza el lenguaje respecto a los
sistemas de tipos, clasificándolos en sistemas estáticos y dinámicos.
Los sistemas estáticos reducen errores y tiempo de ejecución, pero
son más restringidos y toman más tiempo para aprender y desarrollar.
Por otro lado, los sistemas dinámicos son fáciles de aprender y utilizar,
pero no ofrecen muchas garantías y son más difíciles de optimizar. Ambos
sistemas tienen sus ventajas y son adecuados para diversas situaciones y
propósitos.
Bajo este contexto surge la búsqueda de un sistema que permita
mezclar las ventajas de ambos sistemas, permitiéndole al programador
elegir que enfoque utilizar a cada momento. Esto produce la creación de
nuevos sistemas de tipos, entre ellos los tipos graduales, que cumplen
con este objetivo. Pero la creación de un lenguaje gradual es complicado,
en muchos casos realizados de manera ad hoc, lo que dificulta el proceso
de creación de un lenguaje gradual o gradualización de un lenguaje estático.
Esto motiva el desarrollo de distintas formas para estandarizar la
gradualización de un lenguaje, entre las cuales destacamos a AGT.
AGT entrega una fundación teórica para el desarrollo de lenguajes graduales
y ha sido utilizado para el desarrollo de diversos lenguajes graduales.
Sin embargo la mayoría de estos lenguajes consisten en lenguajes funcionales
o lenguajes con subtipado estructural, lo que abre la puerta para
realizar una investigación sobre el uso de AGT en un lenguaje orientado
a objetos con subtipos nominales. El objetivo de este estudio consiste
en utilizar AGT para gradualizar un lenguaje con subtipos nominales,
clases y objetos, y examinar cuáles son las dificultades o problemas que surgen
al realizar este proceso.
Inicialmente se buscó gradualizar un lenguaje completo, si bien pequeño,
pero durante el desarrollo de la investigación se descubrió que la
mayoría de los problemas se encuentran al momento de lidiar con la
herencia y subtipado entre clases, entonces se buscó modelar este
problema de forma más minimalista, concentrándose en este aspecto. A
partir de esto se logró desarrollar una teoría y construir un modelo sobre
dicho problema, el cual puede ser aplicado a un lenguaje con subtipado
nominal para asistir en su gradualización. Este modelo puede ser
expandido y explorado más a fondo, motivando así futuras investigaciones
en el área.
xmlui.dri2xhtml.METS-1.0.item-notadetesis.item
Memoria para optar al título de Ingeniero Civil en Computación
Identifier
URI: https://repositorio.uchile.cl/handle/2250/204567
Collections
The following license files are associated with this item: