~/talk

Multiple Resumptions and Local Mutable State, Directly

Talkat ICFP 2025 · 2025-10-12..10-18· [distributed-systems]
slides:none on file

A compilation strategy and runtime implement lexical effect handlers that support multiple resumptions plus stack-allocated mutable state by using a linked meta-stack of stack chunks and stable prompts, copying stacks only when reference counts require it. The system uses garbage-free reference counting to avoid copies, achieves constant-time capture/resume for single-shot handlers and constant-time state access, provides an LLVM backend for Effekt, shows competitive benchmarks (checkpointing forces copies and is slow in competitors), and forbids resuming inside an active resumption (runtime abort).

AI-written summary · about

  1. 0:00Multiple resumptions intro
  2. 1:48Effect handlers basics
  3. 3:57Multi-shot handlers with flip
  4. 5:43Local mutable state challenges
  5. 8:16Efficient implementation goals
  6. 10:51Call stack and reset
  7. 12:19Multi-shot resumptions handling
  8. 15:58Local mutable state implementation
  9. 16:41Benchmarking languages
  10. 18:53Runtime limitations
  11. 19:37Summary
  12. 20:21Q&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.