Cause and Effect(s): Towards a More Programmable Haskell
summary
Argues Haskell should be designed around effects, documents building the semantic toolchain and the fused-effects library, and recounts hitting severe performance limits and timeouts on an initial Freer-style embed. Adopts the fusion-for-free optimization to eliminate the Free structure and restore practical throughput, adds scoped effects to express catch/local-style handlers, uses prisms to project and re‑inject error variants, and points to Feast effects, Starlight, FastSum work and GHC delimited continuations as concrete, working outcomes.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:09Motivation for fused effects
- 3:08Improving performance
- 7:55Imperative versus functional
- 12:21Type safety and effects
- 17:24Principle of least privilege
- 23:43Handling error complexity
- 31:18Refining effect design
- 34:16Purity and composition
- 42:33Haskell language features
- 56:42Final reflections
related talks
01h 10mA History of Effect Systems
01h 22mHaskell for Everyday Programmers
01h 04mHaskell - A Peek Inside the Ivory Tower
55mDeforestation and Program Fusion
01h 06mTransient: Unrestricted Algebraic and Monadic Composability
34mPrinciples of functional programming with examples in Java and Haskell
46mPainless software development with Haskell
40mWhat Haskell taught us when we were not looking
