Inherited limits

We study the evolution of partial evaluators over the past fifteen years from a particular perspective: The attempt to prevent structural bounds in the original programs from imposing limits on the structure of residual programs. It will often be the case that a language allows unbounded numbers or sizes of particular features, but each program (being finite) will only have a finite number or size of these features. If the residual programs cannot overcome the bounds given in the original program, that can be seen as a weakness in the partial evaluator, as it potentially limits the effectiveness of residual programs. We show how historical developments in partial evaluators have removed inherited limits, and suggest how this principle cem be used as a guideline for further development.

[1]  Peter Sestoft,et al.  An experiment in partial evaluation: the generation of a compiler generator , 1985, SIGP.

[2]  Torben Æ. Mogensen Evolution of Partial Evaluators: Removing Inherited Limits , 1996, Dagstuhl Seminar on Partial Evaluation.

[3]  John Hughes,et al.  Type Specialisation for the lambda-Calculus; or, A New Paradigm for Partial Evaluation Based on Type Inference , 1996, Dagstuhl Seminar on Partial Evaluation.

[4]  Lars Birkedal,et al.  Partial Evaluation of Standard ML Master's Thesis , 1993 .

[5]  John Hughes,et al.  Module-sensitive program specialisation , 1997, PLDI '97.

[6]  Neil D. Jones,et al.  A partial evaluator for the untyped lambda-calculus , 1991, Journal of Functional Programming.

[7]  Torben Æ. Mogensen Self-applicable online partial evaluation of the pure lambda calculus , 1995, PEPM '95.

[8]  Sergei A. Romanenko Arity Raiser and its Use in Program Specialization , 1990, ESOP.

[9]  Olivier Danvy,et al.  Lambda-dropping: transforming recursive equations into programs with block structure , 1997 .

[10]  Karel De Vlaminck,et al.  Polyvariant constructor specialisation , 1995, PEPM '95.

[11]  Karel De Vlaminck,et al.  Program Bifurcation for a Polymorphic Typed Functional Language , 1991, PEPM.

[12]  Torben Æ. Mogensen Constructor specialization , 1993, PEPM '93.

[13]  Peter Ørbæk,et al.  Polyvariant specialisation for higher-order, block-structured languages , 1995, PEPM '95.

[14]  도경구,et al.  Partial Evaluation , 1998, Lecture Notes in Computer Science.

[15]  Torben Æ. Mogensen Separating binding times in language specifications , 1989, Conference on Functional Programming Languages and Computer Architecture.

[16]  Torben Æ. Mogensen Self-applicable Partial Evaluation for Pure Lambda Calculus , 1992, PEPM.

[17]  Rogardt Heldal,et al.  Partial evaluation and separate compilation , 1997 .