PWLTO#10 – Ben Darwin on Programming with Algebraic Effects and Handlers

Ben will be presenting Programming with Algebraic Effects and Handlers by Andrej Bauer and Matija Pretnar.

Paper: http://arxiv.org/abs/1203.1539v1
Meetup: http://www.meetup.com/Papers-We-Love-Toronto/events/224152792/

Handlers for algebraic effects are a promising development in managing complexity in software. In addition to the prototypal implementation in Eff (http://www.eff-lang.org/), they've also been implemented variously as a Haskell library, in the experimental functional languages Idris, Koka, and F-star, and in an experimental branch of the Ocaml compiler (https://github.com/ocamllabs/opam-repo-dev). I'll begin by looking for some intuitive motivation for the concept as a generalization of familiar ideas like exceptions. After looking at the syntax and semantics of the new constructs, we'll consider a number of examples (in Eff and/or Ocaml) from the paper including implementing probabilistic programming and thread scheduling. I'll briefly compare such effect systems against Haskell's monad transformers without getting into details of the latter.