Type specialisation of polymorphic languages [recurso electrónico]

Detalles Bibliográficos
Autor Principal: Martínez López, Pablo Ernesto
Otros autores o Colaboradores: Hughes, John (Director/a)
Formato: Tesis
Lengua:inglés
Datos de publicación: 2005
Series:^p Datos electrónicos (1 archivo : 1678 KB)
Temas:
Acceso en línea:Consultar en el Cátalogo
Resumen: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. -- Palabras clave: especialización principal de tipos, especialización de tipos, especialización de programas, producción automática de programas, programas polimórficos.

MARC

LEADER 00000nam a2200000 a 4500
003 AR-LpUFIB
005 20250423183003.0
008 230201s2005 ag om 000 0 eng d
024 8 |a DIF-M2655  |b 2747  |z DIF002561 
040 |a AR-LpUFIB  |b spa  |c AR-LpUFIB 
100 1 |a Martínez López, Pablo Ernesto  |9 44785 
245 1 0 |a Type specialisation of polymorphic languages [recurso electrónico] 
260 |c 2005 
490 0 |a ^p Datos electrónicos (1 archivo : 1678 KB) 
502 |a  Tesis (Doctorado en Ciencias de la Computación) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales. Departamento de Computación, 2005. 
505 0 |a  Introduction -- Partial Evaluation -- Type Specialization -- Examples -- Theory of Qualified Types -- Principal Type Specialization -- The Algorithm and The Proof -- Constraint Solving and Postprocessing -- Extending the Source Language -- The Prototype -- Inherited Limit: Polymorphism -- About Jones' Optimality -- Related Work -- Future Work -- Conclusions -- Proofs -- References. -- Formato de archivo: PDF. -- Disponible también en línea (Cons. 17/03/2009) 
520 |a 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. -- Palabras clave: especialización principal de tipos, especialización de tipos, especialización de programas, producción automática de programas, programas polimórficos. 
650 4 |a PROGRAMACIÓN AUTOMÁTICA  |9 45313 
650 4 |a PROGRAMACIÓN FUNCIONAL  |9 43174 
650 4 |a LENGUAJES DE PROGRAMACIÓN  |9 42697 
700 1 |a Hughes, John ,  |e Director/a  |9 45192 
942 |c TE 
952 |0 0  |1 0  |4 0  |7 0  |9 77003  |a DIF  |b DIF  |d 2009-03-17  |i DIF-L003  |l 0  |p DIF-L003  |r 2025-03-11 17:02:47  |w 2025-03-11  |y TE 
952 |0 0  |1 0  |4 0  |7 3  |8 BD  |9 77004  |a DIF  |b DIF  |d 2025-03-11  |l 0  |r 2025-03-11 17:02:47  |u www.lifia.info.unlp.edu.ar/papers/2005/Lopez2005.pdf  |w 2025-03-11  |y TE 
999 |c 52440  |d 52440