English

Interleaving classical and reversible

Programming Languages 2021-02-19 v1

Abstract

Given a simple recursive function, we show how to extract two interacting processes from it. The two processes can be described by means of iterative programs, one of which is intrinsically reversible, in a language that, up to minor details, belongs to the core of widely used imperative programming languages. We implement the two processes as interleaving synchronous JAVA threads whose interaction is equivalent to the recursive function they are extracted from.

Keywords

Cite

@article{arxiv.2102.09436,
  title  = {Interleaving classical and reversible},
  author = {Armando B. Matos and Luca Paolini and Luca Roversi},
  journal= {arXiv preprint arXiv:2102.09436},
  year   = {2021}
}