Reversible computing from a programming language perspective.

Theor. Comput. Sci.(2023)

引用 4|浏览1
暂无评分
摘要
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 principles and main ideas of reversible computing viewed from a programming language perspective with a focus on clean reversible languages. They are the building material for software that can reap the benefits of reversible hardware and interesting in their own right. Reversible computing is situated within programming languages in general, and the rele-vant concepts are elaborated, including computability, injectivization and reversibilization. Features representative for many reversible languages are presented, such as reversible up-dates, reversible iterations, and access to a program's inverse semantics. Metaprogramming methods of particular importance to reversible programming, are introduced, including program inversion and inverse interpretation. Our presentation is independent of a partic-ular language, although primarily the reversible language, Janus, will be used in examples.(c) 2022 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
更多
查看译文
关键词
Reversible computing,Reversible programming,Function injectivization,Program reversibilization,Program inversion,Inverse interpretation,Compute-uncompute,Metacomputation
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要