Abstract
In the mainstream categorical approach to typed (total) functional programming, datatypes are modelled as initial algebras and codatatypes as terminal coalgebras. The basic function definition schemes of iteration and coiteration are modelled by constructions known as catamorphisms and anamorphisms. Primitive recursion has been captured by a construction called paramorphisms. We draw attention to the dual construction of apomorphisms, and show on examples that primitive corecursion is a useful function definition scheme. We also put forward and study two novel constructions, viz., histomorphisms and futumorphisms, that capture the powerful schemes of course-of-value iteration and its dual, respectively, and argue that even these are helpful.
| Original language | English |
|---|---|
| Pages (from-to) | 5-26 |
| Journal | Informatica |
| Volume | 10 |
| Issue number | 1 |
| DOIs | |
| Publication status | Published - 1999 |
Bibliographical note
Funding Information: The work reported here was partially supported by the Estonian Science Foundation grant no. 2976. Publisher Copyright: © 1999 Institute of Mathematics and Informatics, VilniusOther keywords
- (co)datatypes
- category theory
- forms of (co)recursion
- program calculation
- typed (total) functional programming