Thursday, 9 February 2017, 14:00
Cybernetica Bldg (Akadeemia tee 21B), room 101
Abstract: Algebraic effect handlers are a powerful means for describing effectful computations. They provide a lightweight and orthogonal technique to define and compose the syntax and semantics of different effects. The semantics is captured by handlers, which are functions that transform syntax trees.
Unfortunately, the approach does not support syntax for scoping constructs, which arise in a number of scenarios. While handlers can be used to provide a limited form of scope, we demonstrate that this approach constrains the possible interactions of effects and rules out some desired semantics.
This talk presents a way to capture scoped constructs in syntax, and shows how to achieve different semantics by reordering handlers. We introduce higher-order syntax as the solution to providing handlers in scope.
This is joint work with Ralf Hinze, Tom Schrijvers, Maciej Piróg, and Mauro Jaskelioff.