~/talk

The Evolution of Effects

Talkat Haskell 2023 · 2023-09-08..09-09· [functional-programming]
linkedin:nicolasgwu
slides:none on file

Survey of monads to monad transformers to algebraic and higher‑order effects, arguing that higher-order free monad signatures fix non‑algebraic scoped operations (catch, once) and restore modularity lost with simple monad stacks. Presents an implementation (used at GitHub for code analysis) that yields 250× faster behavior vs prior libraries, points to fused-effects as a pragmatic starter, and notes the delivered framework works for expressivity but still needs engineering for production efficiency.

AI-written summary · about

  1. 0:00Introduction by Nicholas Vu
  2. 0:43Talk overview and historical focus
  3. 1:25Functional vs imperative programming origins
  4. 2:28Early programming language history
  5. 4:36Fortran and Lisp innovations
  6. 6:43ALGOL and imperative-applicative expressions
  7. 8:11Peter Landin's I-SWIM and structured programming
  8. 10:16Structured programming and denotational semantics
  9. 12:23Synergy between functional and imperative paradigms
  10. 13:29Introduction to monads and the burrito metaphor
  11. 14:14Ancient history of monads in category theory
  12. 17:01Godement calculus and monad laws
  13. 18:27Monads in topology and early naming struggles
  14. 19:09Category theory's role in computer science
  15. 21:14Elgot's work on algebraic theories and monads
  16. 22:17IBM's adjunction group and categorical semantics
  17. 24:00Initial algebra semantics and monads for state
  18. 25:21Dana Scott and Eugenio Moggi's contributions
  19. 27:07Phil Wadler and exceptions without primitive support
  20. 28:54Richard Bird's list theory and Spivey's insights
  21. 30:40Free monads and the first appearance of bind
  22. 32:23Monad comprehensions and Wadler's examples
  23. 34:10Monad transformers and modularity in MTL
  24. 38:25MTL's dominance and limitations
  25. 39:06Introduction to effect handlers
  26. 40:09Algebraic effects and their properties
  27. 41:12Extensibility and modularity in effect handlers
  28. 43:58Equational reasoning and flexibility of handlers
  29. 44:42Bill Lawvere's L-theories and enriched theories
  30. 46:25Operations and handlers distinction
  31. 47:50Scoped effects and GitHub's code analysis
  32. 49:11Functional logic programming with handlers
  33. 50:34Higher-order free monads and the scope problem
  34. 53:47Fused effects library and efficiency gains
  35. 54:48The forest of effect libraries today
  36. 55:10Future directions and expressivity challenges
  37. 57:39Q&A session begins
  38. 57:59Choosing an effect library for beginners
  39. 59:02Language support vs libraries for effects
  40. 1:01:29Recommended papers for monad and effect handlers
  41. 1:03:12From Lawvere to algebraic effects
  42. 1:05:21Unified framework for effects and future release
~/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.