Everything About ___
Live briefing

Everything about Catamorphism

Homomorphism from an initial algebra into another algebra

In functional programming, the concept of catamorphism denotes the unique homomorphism from an initial algebra into some other algebra. Wikipedia →

đź§­ Start here: a 6-step reading path

  1. Read the overview: CatamorphismA 5-minute orientation
  2. Pick up a classic book: The role of parallel catamorphic systems in the structure of Zola's "Rougon-Macquart"The most-reprinted book on the subject
  3. Read the landmark paper: Verifying Catamorphism-Based Contracts using Constrained Horn ClausesCited 10 times
  4. Go sideways: CorecursionA closely related topic
  5. Go sideways: Map (higher-order function)A closely related topic

đź“– Definitions

Noun A generalization of the folds on lists known from functional programming to arbitrary abstract data types that can be described as initial algebras.

🗂️ The subject at a glance

  1. Definition
  2. Terminology and history
  3. Examples

🏆 Landmark papers (most cited)

📚 Books worth reading

Ranked by number of editions on Open Library, a rough measure of how lasting a book is.

đź”— Related topics