~/talk

Why the free Monad isn't free

Talkat Scala Days Berlin 2016 · 2016-06-15..06-17· [functional-programming, scala]
slides:none on file

Argues the Free Monad isn't free: it defers evaluation by building an AST-like structure (trait Free with Return/Suspend/FlatMap), then evaluates via a generic interpreter using a runFree trampoline to swap stack for heap for stack safety. Shows a to‑do DSL, test interpreters (mutable map and action log) and a production interpreter returning Option. Costs are heavy boilerplate, large pattern-match interpreters, steeper learning curve and unclear runtime hit; alternatives include loops, built-in monads, or libraries like Scalaz/Cats/Doobie/Dubey.

AI-written summary · about

  1. 0:00Introduction
  2. 1:47Outline
  3. 2:26Mono
  4. 5:33Composition
  5. 6:47Functors
  6. 7:11Monads
  7. 12:54Free Monad
  8. 16:39Why delay evaluation
  9. 17:54Trampolining
  10. 18:23The heap
  11. 18:48Function signature
  12. 21:24Writing an interpreter
  13. 24:00Using multiple interpreters
  14. 24:56Deferring side effects
  15. 25:37Blue Skies Scala
  16. 27:40Know your domain
  17. 30:14Sideeffects
  18. 32:23Practical use cases
  19. 33:02Other examples
  20. 34:11Kelleys experience
  21. 37:09Questions
~/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.