A collection of talks explaining recursion schemes for functional programming in Haskell and Scala.
Recursion Scheme Talks is a collection of presentations that teach recursion schemes, a functional programming technique for structuring recursive programs using fixed-point types and reusable patterns. It demonstrates how to eliminate explicit recursion in code and apply these patterns to real problems like compiler design. The talks cover implementations in both Haskell and Scala.
Functional programmers working with Haskell or Scala who want to understand advanced recursion techniques, particularly those building compilers, interpreters, or complex recursive data structures.
Provides practical, example-driven explanations of recursion schemes that bridge theory and application, with multiple talk versions showing evolving approaches to teaching these concepts effectively.
A talk on using recursion schemes in FP.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The talks demonstrate real-world applications like building efficient nanopass compilers and fixing types, making abstract recursion schemes tangible for compiler design and FP projects, as highlighted in the README's focus on practical examples.
Covers both Haskell and Scala implementations, with separate talks for each language community (e.g., Boulder Haskell Meetup and Scala Up North), providing cross-functional insights for FP developers.
The repository tracks changes as talks develop, with tags for different presentation versions, allowing learners to see how explanations and examples improve over time, as noted in the README.
Includes additional resources like recursion scheme and algebra cheat sheets, offering quick references to reinforce concepts from the talks, as listed in the README.
All talks are from 2016, which may not reflect current best practices, library updates (e.g., Cats or Matryoshka versions), or language features in Haskell and Scala, limiting relevance for modern projects.
As presentation materials, they lack hands-on exercises, runnable code samples, or structured quizzes, making it harder for learners to apply concepts immediately without external practice.
Solely centered on recursion schemes without broader FP context, which might overwhelm beginners or those seeking general functional programming tutorials, as evidenced by the specialized talk topics.