Latent Effects and Handlers + Automatic Differentiation via Effects and Handlers
summary
Two papers show concrete implementations: one adds latent effects to algebraic handlers (Acta implementation) so function abstractions and staging can get overloadable semantics by attaching a per-node latent-effect functor to effect trees, enabling eager vs lazy handler interpretations and modular composition; code and proofs-in-progress (free-monad claim, deep handlers, lazy func strategy). The other implements AD in Frank: forward-mode via duals and reverse-mode by building an ancillary write-list for backprop, plus checkpointed reverse mode that reruns segments for a time/space tradeoff; examples run and produce correct derivatives.
AI-written summary · about
chapters (12)
- 0:00Latent effects intro
- 7:52Problem with algebraic effects
- 11:25Algebraic effects intro
- 19:31Function abstraction as effect
- 23:44Latent effects solution
- 29:53Summary and future work
- 35:16Introduction to automatic differentiation with effects
- 37:01Forward mode in Frank
- 47:35Reverse mode in Frank
- 55:16Checkpointed reverse mode
- 1:02:07AD advantages in Frank
- 1:07:13Conclusion
related talks
29mAutomatic Differentiation via Effects and Handlers in OCaml
47mIntroduction to Algebraic Effects
36mProgramming Languages for Automatic Differentiation: What Now?
17mMachine Learning Primitives as Algebraic Effects
14mEffect Handlers for Choice-Based Learning
11mAbstract Interpretation for Automatic Differentiation
49mWhat is a (side) effect?
39mDifferentiable Functional Programming
