Interleaving classical and reversible
Armando B. Matos, Luca Paolini, Luca Roversi

TL;DR
This paper presents a method to extract two interacting processes from a recursive function, implementing them as reversible and classical threads in Java, enabling the study of their interaction and reversibility.
Contribution
It introduces a novel approach to derive reversible and classical processes from recursive functions and implements them as interleaving Java threads.
Findings
Processes can be derived from recursive functions.
Reversible and classical processes can interact synchronously.
Implementation demonstrates practical feasibility.
Abstract
Given a simple recursive function, we show how to extract two interacting processes from it. The two processes can be described by means of iterative programs, one of which is intrinsically reversible, in a language that, up to minor details, belongs to the core of widely used imperative programming languages. We implement the two processes as interleaving synchronous JAVA threads whose interaction is equivalent to the recursive function they are extracted from.
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.
Taxonomy
TopicsComputability, Logic, AI Algorithms · Parallel Computing and Optimization Techniques · Logic, programming, and type systems
