On the languages accepted by finite reversible automata
14th International Colloquium on Automata, languages and programming
Notes on the history of reversible computation
IBM Journal of Research and Development
A note on Bennett's time space tradeoff for reversible computation
SIAM Journal on Computing
Feynman, Barton and the reversible Schrödinger difference equation
Feynman and computation
Reversible space equals deterministic space
Journal of Computer and System Sciences - Eleventh annual conference on computational learning theory&slash;Twelfth Annual IEEE conference on computational complexity
Efficient optimistic parallel simulations using reverse computation
ACM Transactions on Modeling and Computer Simulation (TOMACS)
NREVERSAL of Fortune - The Thermodynamics of Garbage Collection
IWMM '92 Proceedings of the International Workshop on Memory Management
Proceedings of the 7th Colloquium on Automata, Languages and Programming
On the Construction of Reversible Automata for Reversible Languages
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
Linear programs in a simple reversible language
Theoretical Computer Science
Reversibility for efficient computing
Reversibility for efficient computing
Reversible computer engineering and architecture
Reversible computer engineering and architecture
A programmable editor for developing structured documents based on bidirectional transformations
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Reversible computing: from mathematical group theory to electronical circuit experiment
Proceedings of the 2nd conference on Computing frontiers
Introduction to reversible computing: motivation, progress, and challenges
Proceedings of the 2nd conference on Computing frontiers
Time, space, and energy in reversible computing
Proceedings of the 2nd conference on Computing frontiers
Revisiting an automatic program inverter for Lisp
ACM SIGPLAN Notices
Design of a compact reversible binary coded decimal adder circuit
Journal of Systems Architecture: the EUROMICRO Journal
Mathematical Structures in Computer Science
Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special issue on POPL 2005
Classification and universality of reversible logic elements with one-bit memory
MCU'04 Proceedings of the 4th international conference on Machines, Computations, and Universality
Semi-inversion of guarded equations
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Principles of a reversible programming language
Proceedings of the 5th conference on Computing frontiers
Reversible Flowchart Languages and the Structured Reversible Program Theorem
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
Parallel Optimization of a Reversible (Quantum) Ripple-Carry Adder
UC '08 Proceedings of the 7th international conference on Unconventional Computing
A Virtual Machine for Supporting Reversible Probabilistic Guarded Command Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Reversible Computation and Reversible Programming Languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Partial evaluation of the reversible language janus
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Clean translation of an imperative reversible programming language
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Typed self-interpretation by pattern matching
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Towards a reversible functional language
RC'11 Proceedings of the Third international conference on Reversible Computation
A reversible processor architecture and its reversible logic design
RC'11 Proceedings of the Third international conference on Reversible Computation
Bootstrapping compiler generators from partial evaluators
PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
Partial evaluation of janus part 2: assertions and procedures
PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
A reversible abstract machine and its space overhead
FMOODS'12/FORTE'12 Proceedings of the 14th joint IFIP WG 6.1 international conference and Proceedings of the 32nd IFIP WG 6.1 international conference on Formal Techniques for Distributed Systems
Reversible machine code and its abstract processor architecture
CSR'07 Proceedings of the Second international conference on Computer Science: theory and applications
Describing and optimising reversible logic using a functional language
IFL'11 Proceedings of the 23rd international conference on Implementation and Application of Functional Languages
Hi-index | 0.00 |
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.