What do reversible programs compute?
Reversible computing is the study of computation models that exhibit both forward and
backward determinism. Understanding the fundamental properties of such models is not …
backward determinism. Understanding the fundamental properties of such models is not …
[HTML][HTML] Reversible computing from a programming language perspective
Software plays a central role in all aspects of reversible computing systems, and a variety of
reversible programming languages have been developed. This presentation highlights the …
reversible programming languages have been developed. This presentation highlights the …
Reversible computation and reversible programming languages
T Yokoyama - Electronic Notes in Theoretical Computer Science, 2010 - Elsevier
A reversible programming language supports deterministic forward and backward
computation. This tutorial focuses on a high-level reversible programming language Janus …
computation. This tutorial focuses on a high-level reversible programming language Janus …
A structural approach to reversible computation
S Abramsky - Theoretical Computer Science, 2005 - Elsevier
Reversibility is a key issue in the interface between computation and physics, and of
growing importance as miniaturization progresses towards its physical limits. Most …
growing importance as miniaturization progresses towards its physical limits. Most …
Isomorphic interpreters from logically reversible abstract machines
In our previous work, we developed a reversible programming language and established
that every computation in it is a (partial) isomorphism that is reversible and that preserves …
that every computation in it is a (partial) isomorphism that is reversible and that preserves …
Principles of a reversible programming language
The principles of reversible programming languages are explicated and illustrated with
reference to the design of a high-level imperative language, Janus. The fundamental …
reference to the design of a high-level imperative language, Janus. The fundamental …
Reversible effects as inverse arrows
Reversible computing models settings in which all processes can be reversed. Applications
include low-power computing, quantum computing, and robotics. It is unclear how to …
include low-power computing, quantum computing, and robotics. It is unclear how to …
On reversible turing machines and their function universality
We provide a treatment of the reversible Turing machines (RTMs) under a strict function
semantics. Unlike many existing reversible computation models, we distinguish strictly …
semantics. Unlike many existing reversible computation models, we distinguish strictly …
Reversible flowchart languages and the structured reversible program theorem
Many irreversible computation models have reversible counterparts, but these are poorly
understood at present. We introduce reversible flowcharts with an assertion operator and …
understood at present. We introduce reversible flowcharts with an assertion operator and …
[HTML][HTML] Reversible computation in term rewriting
Essentially, in a reversible programming language, for each forward computation from state
S to state S′, there exists a constructive method to go backwards from state S′ to state S …
S to state S′, there exists a constructive method to go backwards from state S′ to state S …