En Garde! Unguarded Iteration for Reversible Computation in the Delay Monad

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

  • Robin Kaarsgaard
  • Niccolò Veltri

Reversible computation studies computations which exhibit both forward and backward determinism. Among others, it has been studied for half a century for its applications in low-power computing, and forms the basis for quantum computing. Though certified program equivalence is useful for a number of applications (e.g., certified compilation and optimization), little work on this topic has been carried out for reversible programming languages. As a notable exception, Carette and Sabry have studied the equivalences of the finitary fragment of a reversible combinator calculus, yielding a two-level calculus of type isomorphisms and equivalences between them. In this paper, we extend the two-level calculus of finitary to one for full (i.e., with both recursive types and iteration by means of a trace combinator) using the delay monad, which can be regarded as a “computability-aware” analogue of the usual maybe monad for partiality. This yields a calculus of iterative (and possibly non-terminating) reversible programs acting on user-defined dynamic data structures together with a calculus of certified program equivalences between these programs.

Original languageEnglish
Title of host publicationMathematics of Program Construction- 13th International Conference, MPC 2019, Proceedings
EditorsGraham Hutton
PublisherSpringer VS
Publication date2019
Pages366-384
ISBN (Print)9783030336356
DOIs
Publication statusPublished - 2019
Event13th International Conference on Mathematics of Program Construction, MPC 2019 - Porto, Portugal
Duration: 7 Oct 20199 Oct 2019

Conference

Conference13th International Conference on Mathematics of Program Construction, MPC 2019
LandPortugal
ByPorto
Periode07/10/201909/10/2019
SeriesLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume11825 LNCS
ISSN0302-9743

    Research areas

  • Delay monad, Iteration, Reversible computation

ID: 237703180