Join inverse rig categories for reversible functional programming, and beyond

05/20/2021
by   Robin Kaarsgaard, et al.
0

Reversible computing is a computational paradigm in which computations are deterministic in both the forward and backward direction, so that programs have well-defined forward and backward semantics. We investigate the formal semantics of the reversible functional programming language Rfun. For this purpose, we introduce join inverse rig categories, the natural marriage of join inverse categories and rig categories, which we show can be used to model the language Rfun, under reasonable assumptions. These categories turn out to be a particularly natural fit for reversible computing as a whole, as they encompass models for other reversible programming languages, notably Theseus and reversible flowcharts. This suggests that join inverse rig categories really are the categorical models of reversible computing.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/13/2021

Categorical Semantics of Reversible Pattern-Matching

This paper is concerned with categorical structures for reversible compu...
research
10/10/2017

A categorical foundation for structured reversible flowchart languages: Soundness and adequacy

Structured reversible flowchart languages is a class of imperative rever...
research
06/19/2018

A Theory of Reversibility for Erlang

In a reversible language, any forward computation can be undone by a fin...
research
05/22/2018

Reversible effects as inverse arrows

Reversible computing models settings in which all processes can be rever...
research
07/31/2020

Reversible Debugging in Logic Programming

Reversible debugging is becoming increasingly popular for locating the s...
research
12/06/2022

Branching execution symmetry in Jeopardy by available implicit arguments analysis

When the inverse of an algorithm is well-defined – that is, when its out...
research
09/21/2023

Semantics for a Turing-complete Reversible Programming Language with Inductive Types

This paper is concerned with the expressivity and denotational semantics...

Please sign up or login with your details

Forgot password? Click here to reset