~/talk

A History of Effect Systems

Talkat ZuriHac 2025 · 2025-06-07..06-09· [haskell]
slides:none on file

Chronicle of Haskell effects from monads → transformers → MTL to ST, IORef, Polysemy and effectful, with the concrete claim that Bluefin (used at Groq) achieves encapsulation and resource safety while keeping predictable performance by carving IO into analytic pieces and marking effects as value-level capabilities (handles) instead of implicit type constraints. Bluefin abandons full non-determinism/delimited-continuation support, reimplements pipes/streams as fast functions, and interoperates with effectful ideas; the library exists, is used, and resolves many practical ergonomic and performance trade-offs.

AI-written summary · about

  1. 0:00Introduction & framing the topic
  2. 1:07What are effects – and why do they matter in Haskell?
  3. 8:28Monads as the original answer
  4. 9:59Monad Transformers & stacking complexity
  5. 11:44MTL: the Haskell98 approach
  6. 16:37Alternatives: ST, IORef, ContT and effects by convention
  7. 22:19Non-determinism, lists & combinator effects
  8. 24:00The legacy of MTL and what came next
  9. 25:06Extensible effects & splitting concerns
  10. 27:34Streaming systems and functional structure
  11. 29:29Polysemy and closed-world reasoning
  12. 43:53Bluefin: a new approach to effects
  13. 44:23Bluefin’s goals and design trade-offs
  14. 45:57Fine-grained error handling in Bluefin
  15. 47:07Community questions & Q&A
  16. 1:00:44Concluding thoughts, advice & future work
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.