Reversible Effects as Inverse Arrows

Chris Heunen, Robin Kaarsgaard, Martti Karvonen

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

Abstract

Reversible computing models settings in which all processes can be reversed. Applications include low-power computing, quantum computing, and robotics. It is unclear how to represent side-effects in this setting, because conventional methods need not respect reversibility. We model reversible effects by adapting Hughes’ arrows to dagger arrows and inverse arrows. This captures several fundamental reversible effects, including serialization and mutable store computations. Whereas arrows are monoids in the category of profunctors, dagger arrows are involutive monoids in the category of profunctors, and inverse arrows satisfy certain additional properties. These semantics inform the design of functional reversible programs supporting side-effects.

Original languageEnglish
Title of host publicationMFPS 2018
Volume341
Publication date2018
Pages179-199
DOIs
Publication statusPublished - 2018

Bibliographical note

DBLP's bibliographic metadata records provided through http://dblp.org/search/publ/api are distributed under a Creative Commons CC0 1.0 Universal Public Domain Dedication. Although the bibliographic metadata records are provided consistent with CC0 1.0 Dedication, the content described by the metadata records is not. Content may be subject to copyright, rights of privacy, rights of publicity and other restrictions.

Keywords

  • Arrow
  • Inverse Category
  • Involutive Monoid
  • Reversible Effect

Fingerprint

Dive into the research topics of 'Reversible Effects as Inverse Arrows'. Together they form a unique fingerprint.

Cite this