Inversion by Partial Evaluation: A Reversible Interpreter Experiment

Robert Glück,Louis Marott Normann
DOI: https://doi.org/10.4204/EPTCS.413.1
2024-12-04
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.
Programming Languages,Formal Languages and Automata Theory
What problem does this paper attempt to address?