Hagino CPL

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
Hagino CPL
Designed by Hagino Tatsuya
Appeared in 1987
Computational class Unknown
Reference implementation Unpublished, written in Franz Lisp
Influenced Cammy, Sammy

Hagino CPL, also known as Hagino's CPL or Categorical Programming Language, is a programming language designed to express data types as constructions in wikipedia:category theory. It was introduced by Hagino Tatsuya in 1986 and documented in their 1987 thesis.[1]

Examples

The following program implements natural numbers objects:

left object nat with pr is
     zero : 1 → nat
     succ : nat → nat
end object

The following program implements lists as free monoids:

left object list(X) with prl is
     nil : 1 → list
     cons : prod(X, list) → list
end object

Implementations

  • [1] in Haskell by Sakai Masahiro

References

  1. Tatsuya Hagino. 1987. A categorical programming language. Ph.D. Dissertation. Order Number: AAID-80470. https://arxiv.org/abs/2010.05167