2018
DOI: 10.1016/j.jlamp.2017.10.003
|View full text |Cite
|
Sign up to set email alerts
|

Reversible computation in term rewriting

Abstract: Essentially, in a reversible programming language, for each forward computation from state S to state S ′ , there exists a constructive method to go backwards from state S ′ to state S. Besides its theoretical interest, reversible computation is a fundamental concept which is relevant in many different areas like cellular automata, bidirectional program transformation, or quantum computing, to name a few.In this work, we focus on term rewriting, a computation model that underlies most rule-based programming la… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
13
0
2

Year Published

2018
2018
2023
2023

Publication Types

Select...
5
2

Relationship

3
4

Authors

Journals

citations
Cited by 15 publications
(15 citation statements)
references
References 39 publications
0
13
0
2
Order By: Relevance
“…Some reversibilisation techniques work without user interaction, while others require annotation of programs. Techniques have been developed in recent years that add tracing to term rewriting systems [150] and instrument C++ programs with incremental state saving [171]. Other investigations have focused on techniques for debugging concurrent programs [121,149] and on extending the operational semantics of an irreversible language with tracing [72], thereby defining the inverse semantics of the language.…”
Section: Reversibilisation Techniquesmentioning
confidence: 99%
“…Some reversibilisation techniques work without user interaction, while others require annotation of programs. Techniques have been developed in recent years that add tracing to term rewriting systems [150] and instrument C++ programs with incremental state saving [171]. Other investigations have focused on techniques for debugging concurrent programs [121,149] and on extending the operational semantics of an irreversible language with tracing [72], thereby defining the inverse semantics of the language.…”
Section: Reversibilisation Techniquesmentioning
confidence: 99%
“…Uno de los pioneros en abordar la reversibilidad es Landauer [12], quien aporta la idea de que una computadora puede efectuar la reversibilidad si se guarda su historial de cómputos [17]. El historial, expresa o plasma los antecedentes de determinados procesos computacionales.…”
Section: Historial Y Reversibilidadunclassified
“…Hay investigaciones que estudian cómo convertir cómputos clásicos o cuánticos en reversibles, así como técnicas para su construcción [16,1,10,8,22]. El definir explícitamente la reversibilidad permitirá reconstruir un programa o saber que sucedió antes de cualquier cálculo.…”
Section: Introductionunclassified
“…Although carrying the history of a computation might seem infeasible because of its size, there are several successful proposals that are based on this idea. In particular, one can restrict the original language or apply a number of analysis in order to restrict the required information in the history as much as possible, as in, e.g., [24,26,31] in the context of a functional language.…”
Section: Introductionmentioning
confidence: 99%
“…Here, we focus on the concurrent actions (namely, process spawning, message sending and receiving) and, thus, we do not define a reversible semantics for the functional component of the language; rather, we assume that the state of the process-the current expression and its environment-is stored in the history after each execution step. This approach could be improved following, e.g., the techniques presented in [24,26,31]. We state and formally prove several properties of the semantics and, particularly, its causal consistency.…”
Section: Introductionmentioning
confidence: 99%