Type-Directed Partial Evaluation

Type-directed partial evaluation uses a normalization function to achieve partial evaluation. These lecture notes review its background, foundations, practice, and applications. Of specific interest is the modular technique of offline and online type-directed partial evaluation in Standard ML of New Jersey.

[1]  Jens Palsberg,et al.  Eta-Redexes in Partial Evaluation , 1998, Partial Evaluation.

[2]  Jens Palsberg,et al.  Generating Action Compilers by Partial Evaluation , 1996, J. Funct. Program..

[3]  Peter Sestoft,et al.  Partial evaluation and automatic program generation , 1993, Prentice Hall international series in computer science.

[4]  Jens Palsberg,et al.  Correctness of binding-time analysis , 1993, Journal of Functional Programming.

[5]  Jens Palsberg,et al.  The essence of eta-expansion in partial evaluation , 1994, LISP Symb. Comput..

[6]  Gerald Jay Sussman,et al.  The Art of the Interpreter or, The Modularity Complex (Parts Zero, One, and Two) , 1978 .

[7]  Jesper Jørgensen,et al.  SIMILIX: A Self-Applicable Partial Evaluator for Scheme , 1998, Partial Evaluation.

[8]  Ulrich Berger,et al.  An inverse of the evaluation functional for typed lambda -calculus , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[9]  Samuel N. Kamin,et al.  Modular compilers based on monad transformers , 1998, Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225).

[10]  Zhe Yang,et al.  Encoding types in ML-like languages , 1998, ICFP '98.

[11]  David A. Schmidt,et al.  Denotationaisemantics: a methodology for language development , 1986 .

[12]  Olivier Danvy Online Type-Directed Partial Evaluation , 1998, Fuji International Symposium on Functional and Logic Programming.

[13]  Torben Æ. Mogensen,et al.  Partial Evaluation. Practice and Theory: DIKU 1998 International Summer School, Copenhagen, Denmark, June 29 - July 10, 1998 , 1998 .

[14]  Jens Palsberg,et al.  Eta-expansion does The Trick , 1995, TOPL.

[15]  Olivier Danvy,et al.  Semantics-Based Compiling: A Case Study in Type-Directed Partial Evaluation , 1996, PLILP.

[16]  Olivier Danvy,et al.  Tutorial notes on partial evaluation , 1993, POPL '93.

[17]  Peter Sestoft,et al.  Partial Evaluation for the Lambda Calculus , 1998, Partial Evaluation.

[18]  David B. MacQueen,et al.  The Definition of Standard ML (Revised) , 1997 .

[19]  Olivier Danvy,et al.  Strong Normalization by Type-Directed Partial Evaluation and Run-Time Code Generation , 1998, Types in Compilation.

[20]  Andrzej Filinski,et al.  Representing monads , 1994, POPL '94.

[21]  Anders Bondorf,et al.  Automatic Autoprojection of Recursive Equations with Global Variables and Abstract Data Types , 1991, Sci. Comput. Program..

[22]  Olivier Danvy,et al.  Type-directed partial evaluation , 1995, POPL '96.

[23]  Mitchell Wand Specifying the Correctness of Binding-Time Analysis , 1993, J. Funct. Program..

[24]  Mayer Goldberg,et al.  Recursive application-survival in the lambda calculus , 1996 .

[25]  Erik Ruf Topics in online partial evaluation , 1993 .

[26]  Harold Abelson,et al.  Revised5 report on the algorithmic language scheme , 1998, SIGP.

[27]  Flemming Nielson,et al.  Two-level functional languages , 1992, Cambridge tracts in theoretical computer science.

[28]  Olivier Danvy,et al.  A computational formalization for partial evaluation , 1996, Mathematical Structures in Computer Science.

[29]  Thierry Coquand,et al.  Intuitionistic model constructions and normalization proofs , 1997, Mathematical Structures in Computer Science.

[30]  Olivier Danvy,et al.  Compiling Actions by Partial Evaluation, Revisited , 1998 .

[31]  Erik Ruf,et al.  Automatic Online Partial Evaluation , 1991, FPCA.

[32]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[33]  Martin Hofmann,et al.  Categorical Reconstruction of a Reduction Free Normalization Proof , 1995, Category Theory and Computer Science.

[34]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[35]  Tim Sheard A type-directed, on-line, partial evaluator for a polymorphic language , 1997 .

[36]  Olivier Danvy,et al.  A Simple Solution to Type Specialization , 1998, ICALP.

[37]  Olivier Danvy,et al.  Abstracting control , 1990, LISP and Functional Programming.

[38]  Morten Rhiger Deriving a Statically Typed Type-Directed Partial Evaluator , 1999, PEPM.

[39]  Olivier Danvy,et al.  Representing Control: a Study of the CPS Transformation , 1992, Mathematical Structures in Computer Science.

[40]  Eugenio Moggi,et al.  A categorical account of two-level languages , 1997, MFPS.

[41]  Hendrik Pieter Barendregt,et al.  Functional Programming and Lambda Calculus , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[42]  Morten Rhiger A Study in Higher-Order Programming Languages , 1997 .

[43]  Charles Consel,et al.  New Insights into Partial Evaluation: the SCHISM Experiment , 1988, ESOP.

[44]  Peter Dybjer,et al.  Normalization and the Yoneda Embedding , 1998, Math. Struct. Comput. Sci..

[45]  Robin Milner,et al.  Definition of standard ML , 1990 .

[46]  Peter Thiemann,et al.  Two Flavors of Offline Partial Evaluation , 1998, ASIAN.

[47]  Fritz Henglein,et al.  Dynamic Typing: Syntax and Proof Theory , 1994, Sci. Comput. Program..

[48]  Olivier Danvy,et al.  Pragmatics of Type-Directed Partial Evaluation , 1996, Dagstuhl Seminar on Partial Evaluation.

[49]  Robert Glück,et al.  Partial evaluation : International Seminar, Dagstuhl Castle, Germany, February 12-16, 1996 : selected papers , 1996 .

[50]  Peter Thiemann Aspects of the PGG System: Specialization for Standard Scheme , 1998, Partial Evaluation.

[51]  Olivier Danvy,et al.  Continuation-based partial evaluation , 1994, LFP '94.