Reversible Effects as Inverse Arrows

Chris Heunen, Robin Kaarsgaard, Martti Karvonen

    2 Citations (Scopus)
    46 Downloads (Pure)

    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
    JournalElectronic Notes in Theoretical Computer Science
    Volume341
    Pages (from-to)179-199
    ISSN1571-0661
    DOIs
    Publication statusPublished - 1 Dec 2018
    Event34th Conference on the Mathematical Foundations of Programming Semantics - Dalhousie University, Halifax, Canada
    Duration: 6 Jun 20189 Jun 2018
    Conference number: 34
    https://www.mathstat.dal.ca/mfps2018/

    Conference

    Conference34th Conference on the Mathematical Foundations of Programming Semantics
    Number34
    LocationDalhousie University
    Country/TerritoryCanada
    CityHalifax
    Period06/06/201809/06/2018
    Internet address

    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