# A categorical programming language

@article{Hagino2020ACP, title={A categorical programming language}, author={Tatsuya Hagino}, journal={ArXiv}, year={2020}, volume={abs/2010.05167} }

A theory of data types and a programming language based on category theory are presented. [...] Key Method Here, we use category theory. Category theory has proved to be remarkably good at revealing the nature of mathematical objects, and we use it to understand the true nature of data types in programming. 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… Expand

## Figures and Topics from this paper

## 56 Citations

Categorical ML — Category-theoretic modular programming

- Computer ScienceFormal Aspects of Computing
- 2005

We consider an extension of the functional programming language Standard ML with a modular structure based upon concepts in category theory such as categories, functors, natural transformations and…

Algebraic design language (preliminary definition)

- Computer Science
- 1994

This report constitutes a preliminary de nition of a new high level program ming language called ADL It uses the mathematical concept of structure algebras as its unit of modularity When algebras are…

An Algebra of Dependent Data Types

- Computer Science
- 2006

Objective Caml is used to write functional programs where dependencies among data types (and in the relevant functions) are made explicit by a systematic mapping of layers of categorical constructions to layers of Objective Caml modules.

Constructions, inductive types and strong normalization

- Mathematics, Computer ScienceCST
- 1993

An extension of the core calculus by inductive types is investigated and it is shown how the realizability semantics and the strong normalization argument can be extended to non-algebraic inductive type types.

Categorical programming with functorial strength

- Mathematics
- 1993

This work demonstrates industrial-strength categorical programs can be computed applicatively using only a category's commutative diagrams for reduction. Categorical initial and final datatypes can…

Parameters and Parametrization in Specification, Using Distributive Categories

- Mathematics, Computer ScienceFundam. Informaticae
- 1995

It is shown that in the special case of Hagino specifications, these general definitions specialize to ones in terms of algebras or coalgebra for associated ‘strong’ polynomial functors.

Inductive-Inductive Definitions

- Computer ScienceCSL
- 2010

A principle for introducing new types in type theory which generalises strictly positive indexed inductive data types and gives an axiomatisation of the new principle in such a way that the resulting type theory is consistent, which is proved by constructing a set-theoretic model.

Structured recursion for non-uniform data-types

- Computer Science
- 2000

This thesis shows how these recursion operators can be realized in the functional language Haskell, and presents a categorical semantics that supports formal reasoning about programs on non-uniform data-types.

A Categorical Semantics for Inductive-Inductive Definitions

- Mathematics, Computer ScienceCALCO
- 2011

This work extends the usual initial algebra semantics for ordinary inductive data types to the inductive-inductive setting by considering dialgebras instead of ordinary algebrs, which it is proved is equivalent to the usual formulation with elimination rules.

ArticlesDialgebraic Logics: Extended Abstract

- Mathematics, Computer Science
- 1998

It is demonstrated that in this way propositional logic and modal logic can be generated by a uniform constructions which differ only in the used type constructors of the corresponding syntactic categories.

## References

SHOWING 1-10 OF 52 REFERENCES

Categorical Combinators, Sequential Algorithms, and Functional Programming

- Computer ScienceProgress in Theoretical Computer Science
- 1993

The new edition covers new results, and introduces new connections, as suggested by the following non-exhaustive fist of keywords: confluence properties of categorical combinators, explicit substitutions, control operations, linear logic, geometry of interaction, strong stability.

The category-theoretic solution of recursive domain equations

- Mathematics, Computer Science18th Annual Symposium on Foundations of Computer Science (sfcs 1977)
- 1977

The purpose of the present paper is to set up a categorical framework in which the known techniques for solving equations find a natural place, generalizing from least fixed-points of continuous functions over cpos to initial ones of continuous functors over $\omega $-categories.

ALGEBRAS, THEORIES AND FREENESS: AN INTRODUCTION FOR COMPUTER SCIENTISTS

- Computer Science
- 1982

In the last ten years or so a lot of algebraic ideas have wormed their way into Computer Science, particularly in work connected with correctness of compilers, with abstract data types and with…

Algebraic specification of data types: A synthetic approach

- Computer ScienceMathematical systems theory
- 2005

The present work adds operations to the data types proposed by Scott and proposes an alternative to the equational specifications proposed by Guttag, Guttag and Horning and ADJ.

Constructive mathematics and computer programming

- Mathematics
- 1984

If programming is understood not as the writing of instructions for this or that computing machine but as the design of methods of computation that it is the computer’s duty to execute (a difference…

A Kernel Language for Abstract Data Types and Modules

- Computer ScienceSemantics of Data Types
- 1984

This work uses typed lambda calculus with bindings, declarations, and types as first-class values to build modules, interfaces and implementations, abstract data types, generic types, recursive types, and unions in a concise operational semantics given by inference rules.

Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory

- Computer Science
- 1981

Introducing Institutions

- Computer ScienceLogic of Programs
- 1983

This paper shows how some parts of computer science can be done in any suitable logical system, by introducing the notion of an ins as a precise generalization of the informal notion of a mlogical system.

∞-Categories for the Working Mathematician

- 2018

homotopy theory C.1. Lifting properties, weak factorization systems, and Leibniz closure C.1.1. Lemma. Any class of maps characterized by a right lifting property is closed under composition,…