Template Haskell, a case study in (in)stability
summary
Template Haskell’s instability comes from tight coupling to GHC’s AST, so the concrete fixes are splitting the API (shipping GHC proposal 696 to move Lift and Quasi into tiny packages), introducing a new external/internal Quasi (see GHC proposal 700), shipping small shim libraries (th-abstraction), converting libraries to use quotes instead of manual AST construction (Esqueleto), and finishing Cabal support to reinstall boot libraries; several PRs exist and prototype shims already run, exposing precise upgrade paths and migration steps.
AI-written summary · about
chapters (7)
- 0:00Template Haskell intro
- 10:17Why stability matters
- 22:40Interfaces and dependencies
- 31:31Quote and splice clients
- 39:19Syntax construction clients
- 44:36Syntax analysis clients
- 47:27Future of stability








