Partial evaluation of multi-paradigm declarative languacesfoundations, control, algorithms and efficiency

  1. Albert, Elvira
Dirigée par:
  1. Germán Vidal Oriola Directeur/trice
  2. María Alpuente Frasnedo Directeur/trice

Université de défendre: Universitat Politècnica de València

Fecha de defensa: 02 avril 2001

Jury:
  1. Isidro Ramos Salavert President
  2. Ricardo Peña Marí Secrétaire
  3. Moreno Falaschi Rapporteur
  4. Michael Hanus Rapporteur
  5. Mario Rodríguez Artalejo Rapporteur

Type: Thèses

Teseo: 85178 DIALNET

Résumé

La evaluación parcial es una técnica automática que consigue optimizar programas garantizando que su semántica se preserva, La optimización se consigue especializando los programas con respecto a partes de sus entradas (por tanto,se conoce también como especialización de programas). Esta técnica ha sido investigada en el contexto de una gran variedad de lenguajes de programación declarativos, especialmente en los paradigmas de programación funcional y lógica. Recientemente, se ha introducido un marco unificado para la evaluación parcial de lenguajes que integran características de programación lógica y funcional. Este marco se basa en el uso del estrechamiento (el mecanismo operacional estándar de los lenguajes lógico funcionales) para guiar el proceso de especialización. Sin embargo, el método basado en estrechamiento no está convenientemente equipado para poder diseñar un evaluador parcial efectivo en un lenguaje multiparadigma moderno como Curry, Escher o Toy, ya que existen muchas características de dichos lenguajes que no han sido contempladas en este marco. En la presente tesis, desarrollamos métodos y técnicas que hace factible la definición de evaluadores parciales efectivos para estos lenguajes modernos. En breve, las principales contribuciones de la tesis son: 1- La definición de un marco de evaluación parcial para programas lógico funciones con residuación, que generalizan los programas lógicos con modelos de computación concurrentes. 2- La formulación de operadores de control efectivos para manipular símbolos de función primitivos en lenguajes lógicos funcionales. 3- El uso de una representación abstracta para programas, que se caracteriza porque los programas de alto nivel se pueden traducir automáticamente a dicha representación. Esto nos permite definir un método simple y conciso para la especialización de programas que cubre todas las caracterísiticas de los lenguajes decl