*some references*

*A reversible programming language and its invertible self-interpreter*
https://dl.acm.org/citation.cfm?id=1244404

A reversible programming language supports deterministic forward and 
backward computation. We formalize the programming language Janus and prove 
its reversibility. We provide a program inverter for the language and 
implement a self-interpreter that achieves deterministic forward and 
backward interpretation of Janus programs without using a computation 
history. As the self-interpreter is implemented in a reversible language, 
it is invertible using local program inversion. Many physical phenomena are 
reversible and we demonstrate the power of Janus by implementing a 
reversible program for discrete simulation of the Schrödinger wave equation 
that can be inverted as well as run forward and backward.


*A Reversible Processor Architecture and Its Reversible Logic Design*
https://www.researchgate.net/publication/260749482_A_Reversible_Processor_Architecture_and_Its_Reversible_Logic_Design

We describe the design of a purely reversible computing architecture, Bob, 
and its instruction set, BobISA. The special features of the design include 
a simple, yet expressive, locally-invertible instruction set, and fully 
reversible control logic and address calculation. We have designed an 
architecture with an ISA that is expressive enough to serve as the target 
for a compiler from a high-level structured reversible programming 
language. All-in-all, this paper demonstrates that the design of a complete 
reversible computing architecture is possible and can serve as the core of 
a programmable reversible computing system. 



*A Linear-Time Self-Interpreter of a Reversible Imperative Language*
https://www.researchgate.net/publication/309516210_A_Linear-Time_Self-Interpreter_of_a_Reversible_Imperative_Language

A linear-time reversible self-interpreter in an r-Turing complete 
reversible imperative language is presented. The proposed imperative 
language has reversible structured control flow operators and symbolic 
tree-structured data (S-expressions). The latter data structures are 
dynamically allocated and enable reversible simulation of programs of 
arbitrary size and space consumption. As self-interpreters are used to show 
a number of fundamental properties in classic computability and complexity 
theory, the present study of an efficient reversible self-interpreter is 
intended as a basis for future work on reversible computability and 
complexity theory as well as programming language theory for reversible 
computing. Although the proposed reversible interpreter consumes 
superlinear space, the restriction of the number of variables in the source 
language leads to linear-time reversible simulation.


*A Minimalist's Reversible While Language*
https://www.researchgate.net/publication/316604429_A_Minimalist's_Reversible_While_Language

The paper presents a small reversible language R-CORE, a structured 
imperative programming language with symbolic tree-structured data 
(S-expressions). The language is reduced to the core of a reversible 
language, with a single command for reversibly updating the store, a single 
reversible control-flow operator, a limited number of variables, and data 
with a single atom and a single constructor. Despite its extreme 
simplicity, the language is reversibly universal, which means that it is as 
powerful as any reversible language can be, while it is linear-time 
self-interpretable, and it allows reversible programming with dynamic data 
structures. The four-line program inverter for R-CORE is among the shortest 
existing program inverters, which demonstrates the conciseness of the 
language. The translator to R-CORE, which is used to show the formal 
properties of the language, is clean and modular, and it may serve as a 
model for related reversible translation problems. The goal is to provide a 
language that is sufficiently concise for theoretical investigations. Owing 
to its simplicity, the language may also be used for educational purposes.


- pt

-- 
You received this message because you are subscribed to the Google Groups 
"Everything List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to everything-list+unsubscr...@googlegroups.com.
To post to this group, send email to everything-list@googlegroups.com.
Visit this group at https://groups.google.com/group/everything-list.
For more options, visit https://groups.google.com/d/optout.

Reply via email to