Catamorfisme
Het concept van een catamorfisme is gegrond in de categorietheorie en is toegepast in het functioneel programmeren. Het geeft het unieke homomorfisme aan voor een initiële algebra. De term komt uit het Grieks  (naar beneden) + morfisme, ook uit het Grieks  (vorm). Het duale concept is dat van een anamorfisme.

Catamorfismen in functioneel programmeren 
In het functioneel programmeren is een catamorfisme een generalisatie van de folds op lijsten bekend uit het functioneel programmeren als willekeurige abstracte datatypes, die kunnen worden beschreven als initiële algebra's.

Een van de eerste publicaties die de notie van een catamorfisme in de context van programmeren hebben geïntroduceerd was het artikel "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire", door Erik Meijer et al., dit in de context van de Squiggol programmeertaal.

Het duale concept is een anamorfisme, een generalisatie van de "unfolds".

Zie ook 
Hylomorfisme
Paramorfisme
Apomorfisme

Externe links 
 Erik Meijer, Maarten Fokkinga, and Ross Paterson. Functional Programming with Bananas, Lenses, Envelopes, and Barbed Wire, (Functioneel programmeren met bananen, lenzen, enveloppen en prikkeldraad) , bevat aanvullende definities en voorbeelden
 Catamorfismen in Haskell

Categorietheorie
Functioneel programmeren