🤖 AI Summary
This work addresses the high space overhead incurred by Landauer embedding when applying Plotkin’s call-by-value (CbV) calculus to reversible computation. To overcome this limitation, the paper proposes a novel reversible abstract machine grounded in a long-overlooked reduction machine architecture, which introduces only constant-space overhead per reduction step. This constitutes the first constant-space reversible embedding for CbV calculus, offering a significant improvement over existing approaches. By integrating Landauer’s principle of reversibility, cost-aware modeling of β-reduction, and abstract machine design, the study establishes a new pathway toward efficiently implementing reversible functional programming languages.
📝 Abstract
Landauer's embeddings enable the reversibility of computations for non-reversible programming languages, augmenting each intermediate state with enough data to reconstruct the previous state. An interesting research question is therefore to try to reduce the space overhead required. In this work we propose a Landauer's embedding for Plotkin's call-by-value calculus (CbV). In order to control the computational complexity of CbV and turn the number of $β$-steps into a cost model, CbV is typically implemented via reduction machines. We show that one machine, that has not received much attention, exhibits a particularly compact Landauer's embedding, requiring only constant space overhead for each step.