From the Reversible Computing FAQ:
Achieving the maximum possible computational performance for a given rate of bit dissipation generally requires explicit reversibility not only at the lowest level, but at all levels of computing--in devices, circuits, architectures, languages, and algorithms (a strongly conjectured, but not yet formally proven result-call it Frank's Law).
As I understand it, energy is lost is generated when bits are zeroed. Heat production can be reduced if the software and hardware platform have the ability to reverse logical operations.
Is there any programming platform (library, runtime, language, and compiler) that supports reversible computing?
Reverse computation is a software application of the concept of reversible computing. Because it offers a possible solution to the heat problem faced by chip manufacturers, reversible computing has been extensively studied in the area of computer architecture.
Physicist Richard Feynman showed that it is theoretically possible to create an adiabatic reversible computer. Feynman took an interest in reversible computing in the 1970s because he wanted to know whether there is a fundamental lower limit to how much energy is needed to carry out a computation.
Reversible computing is a form of unconventional computing. Due to the unitarity of quantum mechanics, quantum circuits are reversible, as long as they do not "collapse" the quantum states they operate on.
This property then tells us that all quantum gates must be implemented as a unitary operator which makes them reversible. Any quantum gate must thus be implemented as a unitary operator and is therefore reversible.
Yes, there are some reversible programming languages, at least in research.
I'm also intersted in this field, and I have a collection of few pointers. These two papers are pretty cool:
Those ones I haven't read yet (but are in my todo list) and seem interesting:
There's also this thread on hacker news.
There's a richer literature on bidirectional transformations (of code, models, data structure, etc.), that is to some extend related to reversible computing.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With