Partial Evaluation and Automatic Program Generation

Partial Evaluation and Automatic Program Generation

The book Partial Evaluation and Automatic Program Generation gives a comprehensive presentation of partial evaluation: theory, techniques, and applications. It is suitable for self-study, and for graduate courses and advanced undergraduate courses on program transformation techniques.


The book should be accessible even to beginning graduate students and thus useful for beginners and researchers in partial evaluation alike. The perspective on partial evaluation and the selection of material reflect the experience of our group with construction of several partial evaluators. These include the first non-trivial self-applicable partial evaluators for a functional language, an imperative language, the lambda calculus, a Prolog subset and a subset of C. This work has been carried out at the University of Copenhagen.

Table of Contents

  • Introduction
  • Functions, Types, and Expressions
  • Programming Languages and Interpreters
  • Partial Evaluation for a Flow Chart Language
  • Partial Evaluation for a First-Order Functional Language
  • Efficiency, Speedup, and Optimality
  • Online, Offline, and Self-application
  • Partial Evaluation for the Lambda Calculus
  • Partial Evaluation for Prolog
  • Aspects of Similix: A Partial Evaluator for a Subset of Scheme
  • Partial Evaluation for the C Language
  • Binding-Time Improvements
  • Applications of Partial Evaluation
  • Termination of Partial Evaluation
  • Program Analysis
  • Larger Perspectives
  • Program Transformation
  • Guide to the Literature

Book Details

Author(s): N.D. Jones, C.K. Gomard, and P. Sestoft.
Format(s): PDF
File size: 1.70 MB
Number of pages: 415
Link: Download.

Leave a Reply