~/talk

Effect Handlers for the Masses

Talkat OOPSLA 2018 · 2018-11-07..11-09· [java]

First Java implementation of algebraic effect handlers: a library plus a bytecode toolchain that performs a type-selective CPS bytecode transform (preserves JVM method signatures), implements multi-prompt delimited continuations by managing a separate heap stack and frame slicing, and exposes handlers as ordinary Java classes so effects appear as Java interfaces/capabilities. Demo enumerates nondeterminism (coin flips) by capturing continuations and invoking them multiple times; handlers map results into Optional or List. Uses Java 8 lambdas and invokedynamic; performance is competitive with existing JVM continuation languages. Ongoing work: prevent capability leakage that currently causes runtime errors.

AI-written summary · about

  1. 0:00Intro
  2. 2:26Effect Handlers for Java
  3. 4:12Example: Drunk Coin Flipping
  4. 8:13Effect Handler Implementations
  5. 9:54The Design of the Effekt Library
  6. 10:42Architectural Overview of Java Effekt
  7. 12:04Replacing the JVM Stack
  8. 13:18CPS Translation - Saving Function Local State
  9. 14:44Effect Handlers in Java
  10. 15:37Effect Modularization (Handler Passing)
  11. 16:52Effect Modularization (Composition)
  12. 17:37Modularity Benefits
  13. 19:49Conclusions
~/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.