Partial evaluation of multi-paradigm declarative languaces
Elvira Albert Albiol · 2001
La evaluacion parcial es una tecnica automatica que consigue optimizar programas garantizando que su semantica se preserva, La optimizacion se consigue especializando los programas con respecto a partes de sus entradas (por tanto,se conoce tambien como especializacion de programas). Esta tecnica ha sido investigada en el contexto de una gran variedad de lenguajes de programacion declarativos, especialmente en los paradigmas de programacion funcional y logica. Recientemente, se ha introducido un marco unificado para la evaluacion parcial de lenguajes que integran caracteristicas de programacion logica y funcional. Este marco se basa en el uso del estrechamiento (el mecanismo operacional estandar de los lenguajes logico funcionales) para guiar el proceso de especializacion. Sin embargo, el metodo basado en estrechamiento no esta convenientemente equipado para poder disenar un evaluador parcial efectivo en un lenguaje multiparadigma moderno como Curry, Escher o Toy, ya que existen muchas caracteristicas de dichos lenguajes que no han sido contempladas en este marco. En la presente tesis, desarrollamos metodos y tecnicas que hace factible la definicion de evaluadores parciales efectivos para estos lenguajes modernos. En breve, las principales contribuciones de la tesis son: 1- La definicion de un marco de evaluacion parcial para programas logico funciones con residuacion, que generalizan los programas logicos con modelos de computacion concurrentes. 2- La formulacion de operadores de control efectivos para manipular simbolos de funcion primitivos en lenguajes logicos funcionales. 3- El uso de una representacion abstracta para programas, que se caracteriza porque los programas de alto nivel se pueden traducir automaticamente a dicha representacion. Esto nos permite definir un metodo simple y conciso para la especializacion de programas que cubre todas las caracterisiticas de los lenguajes decl