From Dependency injection to dependency rejection.
summary
Claim: dependency injection in OO maps to partial application equals constructor injection at the IL level but that pattern is not truly functional. Demo: F# partial application, Haskell IO types, and a refactor that returns reservation option then map to DB so decision logic stays pure. Result: compose a pure core between impure edges for request-style apps; use free monads or MTL-style when long‑running, effectful workflows require more control.
AI-written summary · about
chapters (5)
related talks
01h 00mFunctional architecture - The pits of success
01h 01mMoving IO to the edges of your app: Functional Core, Imperative Shell
01h 00mHow to Use Dependency Injection to Write Maintainable Software
01h 00mThe many meaning of Inversion of Control
01h 06mFunctional Design Patterns
42mThe Monad and You
01h 03mFunctional Programming Patterns for Mere Mortals
03mLightning Talk: Dependency Injection for Modern C++
