Inversion by Partial Evaluation: A Reversible Interpreter Experiment
Robert Gl\"uck (DIKU, Dept. of Computer Science, University of, Copenhagen), Louis Marott Normann (DIKU, Dept. of Computer Science,, University of Copenhagen)

TL;DR
This paper explores the use of reversible interpreters and partial evaluation to achieve program inversion, demonstrating that both projections are essential for effective program transformation.
Contribution
It introduces a reversible interpreter in a flowchart language and shows how partial evaluation can produce textually equivalent inverted programs.
Findings
First Futamura and inversion projections can produce textually equivalent programs
Reversible interpreters facilitate practical program inversion
Both projections are necessary in program transformation tools
Abstract
A computational limit of combining partial evaluation and program inversion is investigated. Using a reversible Turing machine interpreter, we show that the first Futamura and inversion projections can produce not only functionally but also textually equivalent programs. The construction of the interpreter in a reversible flowchart language is shown in full. Insights are provided on the practical interplay between reversible interpreters, program inverters, and partial evaluators. We conclude that both projections must be included in the program transformation toolbox.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
