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 language | English |
---|---|
Journal | Electronic Notes in Theoretical Computer Science |
Volume | 341 |
Pages (from-to) | 179-199 |
ISSN | 1571-0661 |
DOIs | |
Publication status | Published - 1 Dec 2018 |
Event | 34th Conference on the Mathematical Foundations of Programming Semantics - Dalhousie University, Halifax, Canada Duration: 6 Jun 2018 → 9 Jun 2018 Conference number: 34 https://www.mathstat.dal.ca/mfps2018/ |
Conference
Conference | 34th Conference on the Mathematical Foundations of Programming Semantics |
---|---|
Number | 34 |
Location | Dalhousie University |
Country/Territory | Canada |
City | Halifax |
Period | 06/06/2018 → 09/06/2018 |
Internet address |
Keywords
- Arrow
- Inverse Category
- Involutive Monoid
- Reversible Effect