Técnicas de diagnóstico y depuración declarativa para lenguajes lógico-funcionales
- Mario Rodríguez Artalejo Directeur
Université de défendre: Universidad Complutense de Madrid
Fecha de defensa: 08 juin 2004
- Ricardo Peña Marí President
- Manuel García Clavel Secrétaire
- Manuel de Hermenegildo Salinas Rapporteur
- Herbert Kuchen Rapporteur
- María Alpuente Frasnedo Rapporteur
Type: Thèses
Résumé
La falta de herramientas auxiliares tales como depuradores o entornos gráficos ha sido señalada como una posible limitacion para el éxito, fuerade ámbitos puramente académicos, de los lenguajes funcionales tipo Haskell. Este mismo razonamiento es aplicable al caso de los lenguajes lógicos, lógico-funcionales, en general a todos los llamados lenguajes declarativos. Sin embargo, la incorporación de estas herramientas, y en particular de depuradores, no es siempre sencilla, ya que a menudo las ideas empleadas para su desarrollo en otros paradigmas no son aplicables a los lenguajes declarativos. La progrmación lógico-funcional recoge ideas tanto de la programación lógica como funcional perezosa para dar lugar a lenguajes como Toy y Curry, que tratan de aunar las ventajas de ambos pradigmas. El problema de la construcción de depuradores para estos lenguajes plantea los inconvenientes ya señalados, y ello motiva la investigación de técnicas alternativas a las tradicionales también para estos lenguajes. La presente tesis desarrolla un marco teórico para la depuración declarativa de respuestas incorrectas en lenguajes lógico-funcionales y se ocupa así mismo de su implementación. Para ello se define un cálculo semántico, basado en la lógica CRWL propuesta como marco semántico para programas lógico-funcionales, que permite la definición formal de árboles de cómputo adecuados para la depuración de respuestas incorrectas en el marco lógico-funcional. Con objeto de poder llevar estas ideas teóricas a la práctica se define además una transformación de programas capaz de producir programas que generen árboles de cómputo como parte de sus resultados, y se prueba la corrección de esta transformación con respecto al cálculo semántico. Entre los objetivos de la tesis también está comprobar la viabilidad de la implementación de estas ideas. Para ello se han incorporado depuradores deeclarativos de respuesta