Patterns of a pragmatic functional architecture
summary
Demonstrates a pragmatic, purely functional architecture implemented in Scala: composes domain algebras into an application via Free monads and coproducts, injects individual algebras into the combined program with the Inject type class and resolves behavior by folding the free program with separate interpreters (console via Id, in‑memory datasource), uses trampolines to avoid stack blowup, shows dependency injection with implicits and Kleisli, and preserves exception types using rapture.Result so runtime errors remain recoverable and testable.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 2:52Architectural Goals
- 4:50Free Monads Explained
- 7:27Defining the Algebra
- 10:35Combining Algebras
- 14:55Program Composition
- 18:26Interpreting the Program
- 21:55Running the Program
- 23:45Dependency Injection
- 26:08Handling Exceptions
- 32:31Conclusion
related talks
52mFunctional Patterns in Domain Modeling
34mHow I learned to stop worrying and love Functional Design
41mArchitectures Using Functional Programming Concepts
37mIntro to FP in Scala: Exploring a Toolbox for Solving Problems - Part 6 of 6
49mMining Functional Patterns
17mFunctional Architecture is Algebraic Architecture
33mAnalyzing Functional Programs
57mThe Fun of Functional Programming Panel
