Reversible computing from a programming language perspective

Reversible computing from a programming language perspective
复制标题

DOI:
10.1016/j.tcs.2022.06.010
复制
发表时间:
2023-03-15
影响因子:
1.1
通讯作者:
Yokoyama,Tetsuo
Yokoyama,Tetsuo
中科院分区:
计算机科学4区
文献类型:
--
作者:
Glueck,Robert;Yokoyama,Tetsuo

文献摘要

被引文献

相似文献

软件在可逆计算系统的各个方面都起着核心作用,并且已经开发了各种可逆编程语言。本演示突出了从编程语言的角度来看可逆计算的原理和主要思想,重点是干净的可逆语言。它们是软件的构建材料,可以获得可逆硬件的好处,并且本身就很有趣。可逆计算一般位于编程语言中,并阐述了相关概念,包括可计算性,注入化和reversibilization。代表许多可逆语言的功能,如可逆更新,可逆迭代,并访问程序的逆语义。介绍了可逆程序设计中特别重要的元程序设计方法,包括程序求逆和逆解释。我们的介绍是独立于一个特定的语言,虽然主要是可逆的语言,雅努斯,将在例子中使用。
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 relevant concepts are elaborated, including computability, injectivization and reversibilization. Features representative for many reversible languages are presented, such as reversible updates, 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 particular language, although primarily the reversible language, Janus, will be used in examples.