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

09/21/2023
by   Kostia Chardonnet, et al.
0

This paper is concerned with the expressivity and denotational semantics of a functional higher-order reversible programming language based on Theseus. In this language, pattern-matching is used to ensure the reversibility of functions. We show how one can encode any Reversible Turing Machine in said language. We then build a sound and adequate categorical semantics based on join inverse categories, with additional structures to capture pattern-matching. We then derive a full completeness result, stating that any computable, partial injective function is the image of a term in the language.

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
02/23/2023

A Curry-Howard Correspondence for Linear, Reversible Computation

In this paper, we present a linear and reversible programming language w...
research
05/20/2021

Join inverse rig categories for reversible functional programming, and beyond

Reversible computing is a computational paradigm in which computations a...
research
02/14/2019

Introducing Yet Another REversible Language

Yarel is a core reversible programming language that implements a class ...
research
03/10/2020

Differentiate Everything with a Reversible Domain-Specific Language

Traditional machine instruction level reverse mode automatic differentia...
research
12/22/2021

Computable Model Discovery and High-Level-Programming Approximations to Algorithmic Complexity

Motivated by algorithmic information theory, the problem of program disc...
research
05/01/2018

Computable decision making on the reals and other spaces via partiality and nondeterminism

Though many safety-critical software systems use floating point to repre...

Please sign up or login with your details

Forgot password? Click here to reset