Catamorphism: a generalization of the _fold_ function in FunctionalProgramming.
A function on finite data structures having a tree-like data type is a catamorphism if it can be computed bottom-up by replacing the constructors systematically by an evaluation function. For example, the sum of the values of a tree with numbers at the leaves is a catamorphism: replace the leaf constructor by the identity function and the join constructor by + (addition on numbers).
*See also:* BirdMeertensFormalism.