Quantum control machine: The limits of control flow in quantum programming
Quantum algorithms for tasks such as factorization, search, and simulation rely on control
flow such as branching and iteration that depends on the value of data in superposition …
flow such as branching and iteration that depends on the value of data in superposition …
[HTML][HTML] Fundamentals of reversible flowchart languages
This paper presents the fundamentals of reversible flowcharts. Reversible flowcharts are
intended to naturally represent the structure and control flow of reversible (imperative) …
intended to naturally represent the structure and control flow of reversible (imperative) …
[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 …
Energy-efficient algorithms
We initiate the systematic study of the energy complexity of algorithms (in addition to time
and space complexity) based on Landauer's Principle in physics, which gives a lower bound …
and space complexity) based on Landauer's Principle in physics, which gives a lower bound …
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 …
language is presented. The proposed imperative language has reversible structured control …
Towards a taxonomy for reversible computation approaches
Reversible computation is a paradigm allowing computation to proceed not only in the
usual, forward direction, but also backwards. Reversible computation has been studied in a …
usual, forward direction, but also backwards. Reversible computation has been studied in a …
Towards a unified language architecture for reversible object-oriented programming
A unified language architecture for an advanced reversible object-oriented language is
described. The design and implementation choices made for a tree-walking interpreter and …
described. The design and implementation choices made for a tree-walking interpreter and …
Reversing an imperative concurrent programming language
We introduce a method of reversing the execution of imperative concurrent programs. Given
an irreversible program, we describe the process of producing two versions. The first …
an irreversible program, we describe the process of producing two versions. The first …
A categorical foundation for structured reversible flowchart languages: Soundness and adequacy
Structured reversible flowchart languages is a class of imperative reversible programming
languages allowing for a simple diagrammatic representation of control flow built from a …
languages allowing for a simple diagrammatic representation of control flow built from a …
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 …