Using Corecursion Schemes
summary
Workshop shows a practical recipe: uses matryoshka and Scala (cats/scalaz) and demonstrates real code for apo plus cata and Cofree. Concrete claims: write and run an apo that tags nodes nested under a given node, fold and transform lists and expression trees, evaluate and rewrite ASTs, and produce Cofree-annotated trees. Repository checkpoints compile and examples print expected results, so the techniques are implemented end-to-end and actually work.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 3:15When to use recursion schemes
- 6:44Recursion scheme names
- 10:39Matreoshka
- 11:24Recursive Positions
- 17:29Types
- 18:13List
- 24:43Intuition
- 34:26nonrecursive
- 35:58more examples
- 36:18cons list
- 38:18fixed points
- 39:54fixed point
- 41:31fix
- 42:59free
- 44:40cofree
- 48:18fixing
- 51:00mirror
- 52:52linkedlist
- 56:49matryoshka
related talks
47mHands on With Recursion Schemes - Part 1 of 2
37mGoing bananas with recursion schemes for fixed point data types
34mEfficient Nanopass Compilers using Cats and Matryoshka
51mGoing bananas with recursion schemes for fixed point data types
29mIntroduction to Recursion Schemes
56mAn introduction to recursion schemes
34mPeeling the Banana: Recursion Schemes from First Principles
32mRecursion schemes with Higherkindness
