Compiler generation from denotational semantics
Methods and tools for compiler construction
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Automatic autoprojection of recursive equations with global variable and abstract data types
Science of Computer Programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Continuation-based partial evaluation
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Type-directed partial evaluation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Encoding types in ML-like languages
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Definition of Standard ML
Partial Evaluation of Computation Process—AnApproach to a Compiler-Compiler
Higher-Order and Symbolic Computation
A Semantic Account of Type-Directed Partial Evaluation
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
A Simple Solution to Type Specialization
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
Hand-Writing Program Generator Generators
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
Pragmatics of Type-Directed Partial Evaluation
Selected Papers from the Internaltional Seminar on Partial Evaluation
A computational formalization for partial evaluation
Mathematical Structures in Computer Science
Combinators for program generation
Journal of Functional Programming
Memoization in Type-Directed Partial Evaluation
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Normalization and Partial Evaluation
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
A substructural type system for delimited continuations
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Theoretical Computer Science
Hi-index | 0.00 |
A generating extension of a program specializes the program with respect to part of the input. Applying a partial evaluator to the program trivially yields a generating extension, but specializing the partial evaluator with respect to the program often yields a more efficient one. This specialization can be carried out by the partial evaluator itself; in this case, the process is known as the second Futamura projection.We derive an ML implementation of the second Futamura projection for Type-Directed Partial Evaluation (TDPE). Due to the differences between ‘traditional’, syntax-directed partial evaluation and TDPE, this derivation involves several conceptual and technical steps. These include a suitable formulation of the second Futamura projection and techniques for making TDPE amenable to self-application. In the context of the second Futamura projection, we also compare and relate TDPE with conventional off-line partial evaluation.We demonstrate our technique with several examples, including compiler generation for Tiny, a prototypical imperative language.