Partial Evaluation, Self-Application and Types

Neil D. Jones. Partial Evaluation, Self-Application and Types. In Mike Paterson, editor, Automata, Languages and Programming, 17th International Colloquium, ICALP90, Warwick University, England, July 16-20, 1990, Proceedings. Volume 443 of Lecture Notes in Computer Science, pages 639-659, Springer, 1990. [doi]


We give an overview of and sketch some new possibilities in the area of partial evaluation. This program transformation and optimization technique has received considerable attention in recent years due to its abilities automatically to compile and to transform an interpreter into a compiler (abilities now well established both theoretically and on the computer). Compared to earlier work in the area, this paper has less emphasis on methods and systems and gives more attention to underlying problems and principles. In particular it discusses questions of computational complexity and the desirability of a theoretical framework for studying complexity in partial evaluation. Further, it outlines some first steps toward the problem of verifying type correctness in interpreters, compilers and partial evaluators.