~/talk

Functional Interpreters and You

links:none on file
slides:none on file

Compares two DSL encodings and shows concrete tradeoffs: reified ASTs support pattern-match interpreters, pretty‑printing, an AST‑rewriting compiler and parallel evaluation via Scala Futures, while monadic sequencing (implemented with free monad) gives automatic pure/flatMap, foldMap and natural transformations at the cost of losing static inspection. Presents the Church/tagless route where an tagless final encoding binds F to Future or Id for async vs sync interpreters, with far less boilerplate and easy DSL composition.

AI-written summary · about

  1. 0:00Intro
  2. 1:03Cat
  3. 1:43Scala
  4. 2:01Program
  5. 2:35Domain Specific Languages
  6. 3:09Split the Code Base
  7. 3:53Modularity and Reuse
  8. 5:23Interpreter Patterns
  9. 14:09Types
  10. 15:27Patterns
  11. 15:44Type Errors
  12. 16:37Complete Implementation
  13. 16:52Key Point
  14. 17:33Type
  15. 19:02Future
  16. 19:18PrettyPrint
  17. 20:34Explicit Ordering
  18. 21:54Flat Map
  19. 23:04Sequencing
  20. 24:19Parallel
  21. 24:45Inspection
  22. 25:20Compilers
  23. 29:48Smart constructors
  24. 30:07The interpreter
  25. 30:31The natural transformation
  26. 32:18The drawback of using free monad
  27. 32:57Church and Coatings
  28. 36:11Tagless Final
  29. 41:00Recap
  30. 41:13Interpreter Pattern
  31. 42:41Standalone vs Embedded
  32. 43:03Links
~/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.