Técnicas avanzadas de compilación para programación lógica

  1. Morales Caballero, José Francisco
Supervised by:
  1. Manuel Carro Liñares Director
  2. Manuel de Hermenegildo Salinas Director

Defence university: Universidad Politécnica de Madrid

Fecha de defensa: 17 July 2010

Committee:
  1. Ricardo Peña Marí Chair
  2. Julio Mariño Carballo Secretary
  3. Jan Wielemaker Committee member
  4. Terrance Swift Committee member
  5. Víctor Santos Costa Committee member

Type: Thesis

Abstract

Declarative programming languages allow the expression of programs in a language that is closer to the problem than to the implementation details. Regardless the generality of that definition, a more clear idea of declarativeness is proposed by Lloyd, who proposes that programs are theories in some suitable logic, and computation is deduction from the theory. In logic programming, where Prolog is one of the most popular incarnations of that paradigm, the theory is that of logical deduction. Efficient implementations able to compete with many other high-level languages, and its flexibility, made Prolog a very good framework to develop new ideas, such as constraint programming, and multi-paradigm programming merging functional programming, object oriented programming, and imperative programming. Although the state of the art of Prolog implementations is highly optimized for the kind of search problems it is designed, and it can compete with many language implementations for other paradigms --- both logic, functional, and imperative --- its dynamism and declarative nature imposes a considerable efficiency gap. An ambitious goal for Prolog implementations, shared with many other declarative languages, is closing this gap while not sacrificing expressivity. The objective of this thesis is the development and improvement of advanced techniques for compilation of Prolog, orthogonal to many extensions such as constraint logic programming, Prolog with tabling, CHR over Prolog.