Resources for learning and using recursion schemes.
Latest commit 1dc74b0 Jan 21, 2017 @passy committed on GitHub Add Greg Pfeil's moonconf talk
Permalink
Failed to load latest commit information.
.travis.yml Enable travis Dec 30, 2016
README.md Add Greg Pfeil's moonconf talk Jan 21, 2017

README.md

Awesome Recursion Schemes Awesome Build Status

A curation of useful resources for learning about and using recursion schemes.

Introductions

  • Practical Recursion Schemes - An introduction to pattern functors, fix points, anamorphisms, catamorphisms, paramorphisms and hylomorphisms, requiring very little prior knowledge.
  • An Introduction to Recursion Schemes - A 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 catamorphisms.

Articles

Papers

Presentations

Podcasts

  • Magic Read Along - Casual discussions about category theory that often bring up recursion schemes, including episode 33 which talks about Histomorphisms and Futumorphisms.

Implementations

  • recursion-schemes for Haskell - The canonical implementation by Edward Kmett.
  • Matryoshka for Scala - Generalized folds, unfolds, and traversals for fixed point data structures.
  • purescript-matryoshka for PureScript - A work-in-process port of matryoshka.

License

This content is licensed under CC0.