~/talk

Effective Programming in OCaml

Talkat YOW! 2021 · 2021-11-30..12-02· [functional-programming]
slides:none on file

Retrofitting Multicore OCaml adds effect handlers as first-class user-defined effects with one-shot delimited continuations and continue/discontinue primitives, transparently turning synchronous IO and iterators into nonblocking code. Implementation uses per-fiber small stacks, continuation objects and an event loop integration that preserves exceptions and GDB/perf support. Benchmarks show effect-based generators run ~9× slower than a hand‑CPS optimized version (JavaScript generators are ~90× slower vs iterators), while a full HTTP server matches Go and LWT throughput.

AI-written summary · about

  1. 0:00Multicore OCaml intro
  2. 3:38OCaml needs effect handlers
  3. 9:10Effect handlers in Multicore OCaml
  4. 12:44Lightweight threading scheduler
  5. 16:35Direct style concurrency
  6. 17:18Generators with effect handlers
  7. 21:30Backwards compatibility
  8. 25:23Resource safety with effects
  9. 27:29Effect handlers overhead
  10. 29:13Benchmarking generators
  11. 30:13Web server in direct style
  12. 31:35Conclusion
~/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.