A Categorical Programming Language

10/11/2020
by   Tatsuya Hagino, et al.
0

A theory of data types based on category theory is presented. We organize data types under a new categorical notion of F,G-dialgebras which is an extension of the notion of adjunctions as well as that of T-algebras. T-algebras are also used in domain theory, but while domain theory needs some primitive data types, like products, to start with, we do not need any. Products, coproducts and exponentiations (i.e. function spaces) are defined exactly like in category theory using adjunctions. F,G-dialgebras also enable us to define the natural number object, the object for finite lists and other familiar data types in programming. Furthermore, their symmetry allows us to have the dual of the natural number object and the object for infinite lists (or lazy lists). We also introduce a programming language in a categorical style using F,G-dialgebras as its data type declaration mechanism. We define the meaning of the language operationally and prove that any program terminates using Tait's computability method.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/26/2021

Categorical semantics of a simple differential programming language

With the increased interest in machine learning, and deep learning in pa...
research
07/30/2019

Compiling With Classical Connectives

The study of polarity in computation has revealed that an "ideal" progra...
research
08/07/2022

Programs as Diagrams: From Categorical Computability to Computable Categories

This is a draft of the first 7 chapters of a textbook/monograph that pre...
research
02/03/2022

Bunched Fuzz: Sensitivity for Vector Metrics

"Program sensitivity" measures the distance between the outputs of a pro...
research
03/06/2023

Fixpoint operators for 2-categorical structures

Fixpoint operators are tools to reason on recursive programs and data ty...
research
11/25/2019

idris-ct: A Library to do Category Theory in Idris

We introduce idris-ct, a Idris library providing verified type definitio...
research
04/18/2018

The clocks they are adjunctions:Denotational semantics for Clocked Type Theory

Clocked Type Theory (CloTT) is a type theory for guarded recursion usefu...

Please sign up or login with your details

Forgot password? Click here to reset