Partial Evaluation of Multi-Paradigm Declarative Languages: Foundations, Control, Algorithms and Efficiency



 
Author: Elvira Albert
Title: Partial Evaluation of Multi-Paradigm Declarative Languages: Foundations, Control, Algorithms and Efficiency
Language of presentation: English
Promotor: Prof. Germán Vidal and Prof. María Alpuente
Date of defense: April 2001
Institution granting degree: Universidad Politénica de Valencia, Spain

Abstract

Partial evaluation is an automatic technique for program optimization which preserves program semantics. Optimization is achieved by specializing programs w.r.t. parts of their input (hence also called program specialization). This technique has been investigated in the context of a wide variety of declarative programming languages, specially in both the functional and logic programming paradigms.

Recently, a unified framework for the partial evaluation of languages which integrate features from functional and logic programming has been introduced. This framework is based on the use of narrowing (the standard operational mechanism of functional logic languages) to drive the specialization process. However, the narrowing-driven method  is not still suitable for designing an effective partial evaluator for a realistic multi-paradigm language like Curry, Escher or Toy, as there are many language features which are not considered in this framework. In this thesis, we develop some methods and techniques which make feasible the definition of effective partial evaluators for these languages. In short, the main contributions of the thesis are:

Parts of this work have been previously presented in SAS'1998, LPAR'1999, LPAR'2000, LOPSTR'2000, FLOPS'2001.