~/talk

Extensible Effects: A Leaner Cake for Purely Functional Code

links:none on file
slides:none on file

Compares free-monad algebras to tagless‑final and shows concrete rewrites: a map-backed KV storage and an SVG renderer/compiler move from free + WriterT (lots of allocations, linear pattern‑match interpreters, boilerplate) to trait-based final encoding (no allocated algebra trees, better type inference, fewer allocations). Demonstrates adding a WriterT logging of removed keys by composing interpreters instead of transforming program data, and explains using extensible‑effects (Typelevel F / eff style stacks) to touch existing writer effects without adding layers. Claims: final reduces GC pressure and runtime pattern‑match cost; ext effects preserve flexibility and stack safety.

AI-written summary · about

  1. 0:00Introduction
  2. 0:57MapStorage
  3. 1:57SVGRenderer
  4. 4:52Initially Tagless
  5. 6:44Products
  6. 7:03The Free Approach
  7. 7:57Program Augmentation
  8. 9:33Free Structures
  9. 11:06Example
  10. 14:12Program Transformation
  11. 15:34Free Structure Algebra
  12. 18:10Services
  13. 18:50Programs
  14. 19:29Nodes
  15. 20:22Storage
  16. 22:08Program transformations
  17. 23:08Program example
  18. 23:29Stack safety
  19. 24:13Bring free back
  20. 24:49Mona transformers
  21. 25:27Why extensible effects
  22. 25:55TypeLevelF
  23. 27:16Final remarks
  24. 27:34Questions
  25. 29:10F for performance
~/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.