Everything About ___
Live briefing

Everything about Corecursion

Type of algorithm in computer science

In computer science, corecursion is a type of operation that is dual to (structural) recursion. Whereas recursion consumes a data structure by first handling the topmost layer before descending into its inner parts, corecursion produces a data structure by first defining the topmost layer before defining its inner parts. Corecursion is a particularly important in total languages, as it allows encoding potentially non-terminating computations in a context where every function must terminate. It is supported by theorem provers Agda and Rocq. Wikipedia →

🧭 Start here: a 6-step reading path

  1. Read the overview: CorecursionA 5-minute orientation
  2. Skim a recent paper: Coco: Corecursion with Compositional Heterogeneous ProductivityInfluential work since 2022
  3. Pick up a classic book: The Haskell Road To Logic, Maths And Programming (Texts in Computing S.)The most-reprinted book on the subject
  4. Read the landmark paper: Parametric corecursionCited 44 times
  5. Go sideways: Initial algebraA closely related topic
  6. Go sideways: CatamorphismA closely related topic

📖 Definitions

Noun The dual to recursion, that acts on the computed result, rather than the input.

🏆 Landmark papers (most cited)

🆕 Influential since 2022

📚 Books worth reading

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

🔗 Related topics