Catálogo de publicaciones - tesis
Título de Acceso Abierto
La noción de principalidad en especialización de tipos
Pablo E. Martínez López John Hughes
publishedVersion.
Resumen/Descripción – provisto por el repositorio digital
Cuando se consideran las maneras de producir programas, la técnica principal que viene a la mente de cada uno de nosotros es la de escribir el programa a mano. Aunque existen técnicas de derivación y herramientas para producir programas automáticamente, su aplicación está usualmente restringida a cierta clase de problemas, o ciertos dominios (como los generadores de parsers, o las interfaces visuales). En los casos donde tales técnicas se pueden aplicar, la productividad y la confiabilidad se ven ampliamente incrementadas. Por esa razón, nos interesamos en la producción automática de programas en un marco general. La especialización de programas es una manera particular de producir programas automáticamente. En ella se utiliza un programa fuente general dado para generar diversas versiones particulares, especializadas, del mismo, cada una resolviendo una instancia particular del problema original. La técnica más conocida y más ampliamente estudiada de especialización de programas es llamada evaluación parcial; se la ha utilizado con éxito en varias áreas de aplicación diferentes. Sin embargo, la evaluación parcial tiene problemas cuando se considera la producción automática de programas con tipos. La especialización de tipos es una forma de especialización de programas que puede producir automáticamente programas con tipos a partir de uno fuente. Comprende diversas técnicas muy poderosas, tales como especialización polivariante, especialización de constructores, conversión de clausuras; es la primera de las variantes de especialización de programas que puede generar tipos arbitrarios a partir de un único programa fuente. Creemos que la especialización de tipos puede ser la base sobre la que desarrollar un marco de producción automática de programas. En esta tesis consideramos la especialización de programas, extendiéndola para producir programas polimórficos. Ilustramos eso considerando un intérprete para un lambda cálculo con tipos a la Hindley-Milner, y especializándolo con cualquier programa objeto para producir un programa residual que sea esencialmente igual que el original. En la búsqueda de la generación de polimorfismo, extendemos la especialización de tipos para que pueda expresar la especialización de programas con información estática incompleta, y probamos que para cada término podemos inferir una especialización particular que puede ser usada para reconstruir cada uno de las otras especializaciones de tal término. Llamamos especialización de tipos principal a tal técnica, debido a la analogía de esta propiedad con la noción de tipos principales. Nuestra presentación clarifica muchos de los problemas existentes en la especialización de tipos, lo cual puede ser usado como una guía en la búsqueda de soluciones para ellos. La presentación se divide en cuatro partes. En la primera Parte, presentamos la Especialización de Tipos en su forma original, junto con material complementario. En la Parte II desarrollamos la presentación de la Especialización de Tipos Principal, explicando todos los detalles técnicos, dando varios ejemplos, y presentando nuestra implementaci ón del prototipo. En la Parte III describimos las posibilidades de la formulación nueva, proveyendo una extensión de la Especialización de Tipos para generar programas polimórficos. Finalmente, la última parte describe trabajos relacionados, trabajos futuros, y concluye. Este trabajo es el resultado de siete a˜nos de investigación, realizados durante mis estudios de doctorado.Palabras clave – provistas por el repositorio digital
ESPECIALIZACION PRINCIPAL DE TIPOS; ESPECIALIZACION DE TIPOS; ESPECIALIZACION DE PROGRAMAS; PRODUCCION AUTOMATICA DE PROGRAMAS; PROGRAMAS POLIMORFICOS; PRINCIPAL TYPE SPECIALISATION; TYPE SPECIALISATION; PROGRAM SPECIALISATION; AUTOMATIC PROGRAM PRODUCTION; POLYMORPHIC PROGRAMS
Disponibilidad
| Institución detectada | Año de publicación | Navegá | Descargá | Solicitá |
|---|---|---|---|---|
| No requiere | 2005 | Biblioteca Digital (FCEN-UBA) (SNRD) |
|
Información
Tipo de recurso:
tesis
Idiomas de la publicación
- español castellano
País de edición
Argentina
Fecha de publicación
2005-11-15
Información sobre licencias CC