Curated list of awesome lists
Awesome Recursion Schemes
A curation of useful resources for learning about and using recursion schemes.
Recursion schemes are simple, composable combinators, that automate the process of traversing and recursing through nested data structures.
Practical Recursion Schemes -
Introduction to pattern functors, fix points, anamorphisms, catamorphisms,
paramorphisms and hylomorphisms, requiring very little prior knowledge.
An Introduction to Recursion Schemes -
Three-part series in which you discover recursion schemes from scratch and
implement a small subset of Edward Kmett's library.
Understanding Algebras -
Bartosz Milewski explains F-algebras and shows how to use them in the context of
aimed at developers with a minimal functional programming background.
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire, 1991, Meijer et al. -
The original paper most of this is based on.
A Duality of Sorts, 2013, Hinze et al. -
Shows that many basic sorting algorithms exist as a pair, and that these pairs
arise naturally out of the duality between folds and unfolds.
Sorting with Bialgebras and Distributive Laws, 2012, Hinze et al. -
Shows how paramorphisms and apomorphisms can be used for more efficient
implementations of sorting algorithms.
Scrap your boilerplate: a practical design pattern for generic programming, 2003, SPJ et al. -
Design pattern for writing programs that traverse data structures built from rich mutually-recursive data types.
Magic Read Along - Casual discussions about
category theory that often bring up recursion schemes, including episode
33 which talks about Histomorphisms
This content is licensed