当前位置: X-MOL 学术arXiv.cs.SC › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A Categorical Programming Language
arXiv - CS - Symbolic Computation Pub Date : 2020-10-11 , DOI: arxiv-2010.05167
Tatsuya Hagino

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.

中文翻译:

一种分类编程语言

提出了一种基于范畴论的数据类型理论。我们在 F,G-二代数的新分类概念下组织数据类型,它是附加概念和 T-代数概念的扩展。T-代数也用于领域理论,但虽然领域理论需要一些原始数据类型,比如积,但我们不需要任何。乘积、余积和乘幂(即函数空间)的定义与范畴论中使用附加词的定义完全相同。F,G-二代数还使我们能够定义自然数对象、有限列表对象和编程中其他熟悉的数据类型。此外,它们的对称性允许我们拥有自然数对象和无限列表(或惰性列表)对象的对偶。我们还介绍了一种使用 F 的分类风格的编程语言,G-二代数作为其数据类型声明机制。我们在操作上定义了语言的含义,并证明任何程序都可以使用 Tait 的可计算性方法终止。
更新日期:2020-10-13
down
wechat
bug