~/talk

A roadtrip with monads: from MTL, through tagless to BIO

Talkat Lambda World Cádiz 2018 · 2018-10-25..10-26· [functional-programming]
slides:none on file

A small Scala program composes console, third‑party weather client and a cache into an ask–fetch–judge loop that compiles and runs. It uses Monix Task with ScalaZ shims, starts as an EitherT/ReaderT/StateT transformer stack (functionally correct but about an order‑of‑magnitude slower), then refactors to tagless final algebras (console, weather, monad‑state) so code stays composable, becomes easily testable with mock instances, and can regain near‑imperative speed by choosing a bifunctor IO/ZIO or concrete effect.

AI-written summary · about

  1. 0:00Introduction to FP Example
  2. 10:39Initial Implementation Issues
  3. 12:23Adopting the MTL Pattern
  4. 18:53Tagless Final Approach
  5. 22:10Testing and Running the App
  6. 26:05Performance Challenges
  7. 29:48Optimizing Performance
  8. 32:53Advanced Error Handling
~/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.