Skip to content

josephjunker/awesome-recursion-schemes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Recursion Schemes Awesome

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.

Contents

Introductions

  • 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 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 - Work-in-process port of matryoshka.

License

This content is licensed under CC0.

About

Resources for learning and using recursion schemes.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors