~/talk

Move Over Free Monads: Make Way for Free Applicatives!

slides:none on file

Argues that free applicatives trade some monadic power for a static, inspectable program tree that lets tooling generate things you otherwise can’t: built a Scala DSL (Scalaz’s free app) for application configuration that produces a generated man page via genHelp and a JSON decoder via genDecode (using Argonaut). The library compiles and examples are on GitHub; it works for parsing/codecs/autocomplete but cannot express runtime-dependent sequential logic the way free monads can.

AI-written summary · about

  1. 0:00Introduction
  2. 3:03Free monads benefits
  3. 7:23Free monads limitations
  4. 10:54Free applicatives introduction
  5. 13:46Free applicatives with config
  6. 18:55DSL for config with applicatives
  7. 21:51Help docs from config
  8. 23:35JSON decoders with applicatives
  9. 26:44Applicative transformation challenges
  10. 28:35Finally tagless for applicatives
  11. 33:14Finally tagless applicative DSLs
  12. 36:47Evaluating finally tagless programs
  13. 37:53Applicative expressive power
  14. 42:11Free structures comparison
  15. 43:15Summary and resources
~/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.