Jones-Optimal Partial Evaluation by Specialization-Safe Normalization
We present partial evaluation by specialization-safe normalization, a novel partial evaluation technique that is Jones-optimal, that can be self-applied to achieve the Futamura projections and that can be type-checked to ensure it always generates code with the correct type. Jones-optimality is the gold-standard for nontrivial partial evaluation and guarantees that a specializer can remove an entire layer of interpretation. We achieve Jones-optimality by using a novel affine-variable static analysis that directs specialization-safe normalization to always decrease a program’s runtime.
We demonstrate the robustness of our approach by showing Jones-optimality in a variety of settings. We have formally proved that our partial evaluator is Jones-optimal for call-by-value reduction, and we have experimentally shown that it is Jones-optimal for call-by-value, normal-order, and memoized normal-order. Each of our experiments tests Jones-optimality with three different self-interpreters.
We implemented our partial evaluator in F$_\omega^{\mu i}$, a recent language for typed self-applicable meta-programming. It is the first Jones-optimal and self-applicable partial evaluator whose type guarantees that it always generates type-correct code.
Wed 10 JanDisplayed time zone: Tijuana, Baja California change
13:40 - 15:20 | Interpretation and EvaluationResearch Papers at Watercourt Chair(s): Atsushi Igarashi Kyoto University, Japan | ||
13:40 25mTalk | Unifying Analytic and Statically-Typed Quasiquotes Research Papers Lionel Parreaux EPFL, Antoine Voizard University of Pennsylvannia, Amir Shaikhha EPFL, Christoph E. Koch EPFL Pre-print | ||
14:05 25mTalk | Jones-Optimal Partial Evaluation by Specialization-Safe Normalization Research Papers | ||
14:30 25mTalk | Migrating Gradual Types Research Papers John Peter Campora ULL Lafayette, Sheng Chen University of Louisiana at Lafayette, Martin Erwig Oregon State University, Eric Walkingshaw Oregon State University | ||
14:55 25mTalk | Intrinsically-Typed Definitional Interpreters for Imperative Languages Research Papers Casper Bach Poulsen Delft University of Technology, Arjen Rouvoet Delft University of Technology, Andrew Tolmach Portland State University, Robbert Krebbers Delft University of Technology, Eelco Visser Delft University of Technology DOI Pre-print |