programming-languagesfunctional-programmingruntimecompiler-theory

Reversible computing platform


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?


Solution

  • 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.