Hyperfunctions: Communicating Continuations
summary
Identifies a recurring type — the hyperfunction — that actually implements communication between continuations and concurrent processes, shows it appears in zip fusion, Hoffman’s breadth‑first traversal, pipes/transducers and CPS encodings, and gives a compact Haskell/continuation encoding that yields a fully-abstract model of CCS plus a monadic Haskell library for efficient first-class coroutines. Uses CPS, GHC examples, and embeddings to avoid AGDA positivity issues; provides working encodings for fork/scheduling and send/merge that perform as intended.
AI-written summary · about
chapters (10)
- 0:00Hyperfunctions intro
- 2:50Hyperfunctions in FP literature
- 8:14Hyperfunctions in co-routines
- 10:42Why hyperfunctions matter
- 12:07Working with hyperfunctions in code
- 14:35Theoretical challenges
- 16:21Hyperfunctions as concurrency
- 18:12New concurrency uses
- 20:04Encoding co-routines
- 21:51Q&A
related talks
30mCONQUERING CONCURRENCY WITH FUNCTIONAL PROGRAMMING
44mCAN WE FREE CONCURRENT PROGRAMMING FROM THE MONADIC STYLE
01h 13mConcurrency Hylomorphism
40mContinuations on the Web and in your OS
39mConcurrent Languages are Functional
36mConcurrent ML - The One That Got Away
36mConcurrency with Cats-effect
01h 16mConcurrency Approaches: Past, Present, and Future
