Definitions
from Wiktionary, Creative Commons Attribution/ShareAlike License
 n. a generalization of the folds on lists known from functional programming to arbitrary abstract data types that can be described as initial algebras
Etymologies
from Wiktionary, Creative Commons Attribution/ShareAlike License
Examples

Seeing the elements of a sequence being eaten onebyone is quite a shocking catastrophic event for the sequence, hence the name catamorphism .

Use of the terms "catamorphism" or "monad" or "partial application" or "currying" in your introductory talk is an exercise in stroking your own ego ….

To answer this question, we first have to understand what a catamorphism is.

The point of the catamorphism is that this doesn't need to apply just to lists; in fact, we can run a catamorphism on any recursive data structure!

The functional programming crowd is well familiar with a few relatively banal examples of the catamorphism, namely the left fold and the right fold.

But this didn't really seem to fit right: maybe you have a clever catamorphism for the problem, the overhead for fully parallelizing everything is prohibitive.

The opposite of an anamorphism is a catamorphism, also known as Aggregate in LINQ.

And finally, there's a stop condition which is implicit in the case of a catamorphism as the "remaining tail of sequence is empty" condition can be used for it

I previously wrote about a design pattern I called an incremental fold (or catamorphism).

In the absence of an appropriate predefined combinator (i.e. loop, or a catamorphism), it is really better to write your own combinators rather than employing recursion in lowerorder functions.
Comments
Log in or sign up to get involved in the conversation. It's quick and easy.