🦀 Functional Rust
🟣

Functional Concepts

Understand the ideas behind great Rust code.

Monads, functors, optics, recursion schemes — explained from scratch for Rust developers. No Haskell or OCaml required. Each example explains why the concept exists before showing any code.

👤 Rust developers curious about FP theory — no prior background needed 📚 30 examples
Start Path →
1 #052 052: Function Composition Foundations 2 #005 Currying and Partial Application Intermediate 3 #510 510: Currying Pattern in Rust Advanced 4 #509 509: Closure Composition Advanced 5 #502 502: Fn, FnMut, FnOnce Hierarchy Advanced 6 #520 520: Higher-Order Functions Intermediate 7 #594 594: Continuation-Passing Style (CPS) Expert 8 #595 595: Trampoline Pattern Expert 9 #596 596: Church Encoding in Rust Expert 10 #597 597: Scott Encoding for Algebraic Types Expert 11 #599 599: Free Monad Interpretation Expert 12 #598 598: Finally Tagless Style Expert 13 #600 600: Simulating Algebraic Effects Expert 14 #603 603: Functor Laws in Practice Master 15 #604 604: Monad Laws — Rust Deep Dive Master 16 #605 605: Applicative Functor Laws Master 17 #606 606: Natural Transformations in Rust Master 18 #607 607: Fixed-Point Types and Recursion Schemes Master 19 #608 608: Catamorphism (Fold) Generalized Master 20 #609 609: Anamorphism (Unfold) Generalized Master 21 #610 610: Hylomorphism — Unfold Then Fold Master 22 #611 611: Paramorphism Master 23 #612 612: Zygomorphism Master 24 #616 616: Lens Pattern — Composable Getters and Setters Master 25 #617 617: Prism Pattern — Fallible Access for Enum Variants Master 26 #618 618: Traversal for Collection Optics Master 27 #621 621: Profunctor Encoding of Optics Master 28 #383 383: Simulating Higher-Kinded Types with GATs Expert 29 #235 235: Yoneda Lemma Expert 30 #248 248: Kan Extensions Master