Algebraic effect intros and literature
Algebraic effects
Eff
Work by Matija Pretnar and Andrej Bauer
OPLSS course by Andrej Bauer
All sorts of implementation
Handlers in Action (focused on Haskell but also has racket, SML, OCaml implementation)
Richer Type systems (Frank): Do be do be do
Comparison to Monads
Monad transformers and modular algebraic effects: what binds them together
Recent papers
WasmFX (typed continuation proposal for wasm’s exception handling feature). [Wasm Research Day 2023 talk], the 2022 talk has no recording but there are [slides and code] [OOPSLA 23 paper]
Koka-lang [PLDI24 paper]
Delimited Continuations
Now in Scala/Haskell/OCaml
Ken Shan did a lot of work on inter-defining control operators
Questions
In Effect Handlers via Generalised Continuations (JFP 20), they claimed catamorphism <-> deep handlers, mutumorphisms <-> shallow handlers. How to interpret this? (Do I really know case-splits and folds?)
How to think of shift0/reset0
as closest to algebraic effect handlers? On the Expressive Power of User-Defined Effects seems to give a straightforward translation from shift0/reset0
to effect handlers.
(More to come…)