~/talk

Functional Async on the JVM

Talkat LambdaConf Winter Retreat 2017 · 2017-01-08..01-11· [machine-learning]
slides:none on file

Claims a practical abstraction for async/parallel functional Scala on the JVM built as a monadic Task with now/delay/async that respects JVM constraints (no TCO, expensive threads ≈10,000 limit, costly object churn). Implements a free‑style algebra and an interpreter that encodes trampoline encoded TCO and conserves threads, uses unsafe run with a latch to block only at the world edge. Works for streaming (S2/FS2) and async IO but exposes unsafe edge cases (double callbacks, nontermination, type‑soundness traps).

AI-written summary · about

  1. 0:00Introduction
  2. 1:03JVM and Scala async context
  3. 6:02Tail call elimination limits
  4. 8:10Threading and GC limits
  5. 13:10Functional async abstraction design
  6. 26:09Monadic task structure
  7. 31:31Free monad task implementation
  8. 38:32Unsafe task execution
  9. 44:51Practical async benefits
  10. 49:07Async drawbacks and safety
  11. 51:10Task implementation pitfalls
  12. 52:13Q&A
~/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.