Skip to content
Projets

passy/awesome-recursion-schemes

Voir sur GitHub

passy/awesome-recursion-schemes has 1,317 GitHub stars and 57 forks. GitHot measured 0 stars in 24 hours and +1 in 7 days. Last checked 2026-11-13 01:43 UTC. Last push 2024-04-25.

Comment ces chiffres sont mesurés

Resources for learning and using recursion schemes.

Progression mesurée des étoiles

in 24h
0
in 7 days
+1
in 15 days
Historique en cours
in 1 month
Historique en cours

Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.

README.md

Original

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

  • Awesome Recursion Schemes - A curation of useful resources for learning about and using recursion schemes.
  • 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.
  • Recursion Schemes in JavaScript and Flow - Series introducing recursion schemes and related concepts in JavaScript, aimed at developers with a minimal functional programming background.

Articles

Hylomorphisms in the Wild

Articles by Bartosz Milewski about solving small, practical problems by applying a hylomorphism.

Papers

Presentations

Cheat Sheets

Podcasts

Implementations

  • recursion-schemes for Haskell - The canonical implementation by Edward Kmett.
  • Matryoshka for Scala using Scalaz - Generalized folds, unfolds, and traversals for fixed point data structures.
  • andyscott/droste for Scala using Cats - Generalized folds, unfolds, and traversals for fixed point data structures.
  • recursion_schemes for Idris, based off Edward Kmett's Haskell library.
  • purescript-matryoshka for PureScript - Work-in-process port of matryoshka.
  • recursion for ATS - Demonstration of recursion schemes in ATS.
  • dada for Dhall - a library for recursion schemes in Dhall.
  • static-land-recursion-schemes for JavaScript/Flow - Schemes for data structures written in the style of flow-static-land.
  • Katalyst for Kotlin - a re-envisioning based off Matryoshka using lightweight higher kinded polymorphism.

License

This content is licensed under CC0.

Explorer des projets similaires