1999 · 62 citations · 4 references
ComputingComputer ScienceAlgebraProgramming LanguagesTheory Of ComputationAbstract AlgebraCategory TheoryData TypesFunctional ProgrammingRecursion TheoryType SystemsFunctorsPrimitive Recursive FunctionsRecursionRecursion SchemesRecursive Functions
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.
4
Data structures and program transformation
Grant Malcolm · Science of Computer Programming · 1990 · 171 citations
A Categorical Programming Language
Tatsuya Hagino · arXiv (Cornell University) · 2020 · 101 citations · Full text
Computing, Computer Science, Algebra +13
A Browsable Format for Proof Presentation
Jim Grundy · 1996 · 13 citations