Primitive (Co)Recursion and Course-of-Value (Co)Iteration, Categorically

Varmo Vene

Research output: Contribution to journalArticlepeer-review

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 languageEnglish
Pages (from-to)5-26
JournalInformatica
Volume10
Issue number1
DOIs
Publication statusPublished - 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, Vilnius

Other keywords

  • (co)datatypes
  • category theory
  • forms of (co)recursion
  • program calculation
  • typed (total) functional programming

Fingerprint

Dive into the research topics of 'Primitive (Co)Recursion and Course-of-Value (Co)Iteration, Categorically'. Together they form a unique fingerprint.

Cite this