Dagstuhl Seminar 16112
From Theory to Practice of Algebraic Effects and Handlers
( Mar 13 – Mar 18, 2016 )
Permalink
Organizers
- Andrej Bauer (University of Ljubljana, SI)
- Martin Hofmann (LMU München, DE)
- Matija Pretnar (University of Ljubljana, SI)
- Jeremy Yallop (University of Cambridge, GB)
Contact
- Susanne Bach-Bernhard (for administrative matters)
Algebraic effects are an approach to computational effects based on the view that impure behavior arises from operations such as get & set for mutable store, or raise for exceptions. The algebraic treatment of operations naturally leads to a novel concept of handlers for all effects, not just exceptions. Handlers subsume many programming concepts, such as stream redirection, backtracking, cooperative multi-threading, and delimited continuations.
The theory of algebraic effects and handlers offers insights into effectful computation that have not yet been transferred to industrial programming languages. The seminar willbe devoted to connecting recent theoretical advances with the state-of-the-art techniques in programming language design and implementation.
A most natural setting for taking up the challenge is an ML style language such as OCaml. Algebraic effects and handlers are an extension of effects in ML, while the ML type system may be enriched with effect information that aids program analysis and optimization. We are confident that addition of user-defined effects and general handlers to OCaml would be warmly welcomed by a wide range of users, as there has long been interest in extending the set of available effects.
The objectives of the seminar are:
- Find practical and efficient ways of incorporating algebraic effects and handlers into existing functional programming languages.
- Determine to what extent algebraic effects and handlers help with program analysis and optimization techniques, such as parallelization of code.
- Explore new programming techniques based on algebraic effects and handlers.
- Open new research topics in theoretical computer science by outlining future theoretical support for problems that arise in the practice of programming language design and implementation.
Being no strangers to the Dagstuhl seminars we were delighted to get the opportunity to organize Seminar 16112. Our seminar was dedicated to algebraic effects and handlers, a research topic in programming languages which has received much attention in the past decade. There are strong theoretical and practical aspects of algebraic effects and handlers, so we invited people from both camps. It would have been easy to run the seminar as a series of disconnected talks that would take up most of people's schedules - we have all been to such seminars - and run the risk of disconnecting the camps as well. We decided to try a different format, and would like to share our experience in this executive summary.
On the first day we set out to identify topics of interest and organize working groups around them. This did not work, as everybody wanted to be in every group, or was at least worried they would miss something important by choosing the wrong group. Nevertheless, we did identify topics and within them ideas began to form. At first they were very general ideas on the level of major research projects, but soon enough people started asking specific questions that could be addressed at the seminar. Around those questions small groups began to form. Out of initial confusion came self-organization.
We had talks each day in the morning, with the schedule planned two days ahead, except for the first day which started by a tutorial on algebraic effects and handlers. We left the afternoons completely free for people to work in self-organized groups, which they did. The organizers subtly made sure that everybody had a group to talk to. In the evening, just before dinner, we had a "show & tell" session in which groups reported on their progress. These sessions were the most interesting part of the day, with everyone participating: some showing what they had done so far, and others offering new ideas. Some of the sessions were accompanied by improvised short lectures.
Work continued after dinner and late at night. One of the organizers was shocked to find, on his way to bed, that the walls of a small seminar room were completely filled with type theoretic formulas, from the floor to the ceiling. He was greatly relieved to hear that the type theory was not there to stay permanently as the Dagstuhl caretakers painted the walls with a special "whiteboard" paint. They should sell the paint by the bucket as a Dagstuhl souvenir.
We are extremely happy with the outcome of the seminar and the way we organized it. An open format that gives everyone ample time outside the seminar room was significantly boosted by the unique Dagstuhl environment free of worldly distractions. We encourage future organizers to boldly try new ways of organizing meetings. There will be confusion at first, but as long as the participants are encouraged and allowed to group themselves, they will do so. If a lesson is to be taken from our seminar, it is perhaps this: let people do what they want, but also make sure they report frequently on what they are doing, preferably when they are a bit hungry.
- Sandra Alves (University of Porto, PT) [dblp]
- Kenichi Asai (Ochanomizu University - Tokyo, JP) [dblp]
- Robert Atkey (University of Strathclyde - Glasgow, GB) [dblp]
- Clément Aubert (Appalachian State University - Boone, US) [dblp]
- Andrej Bauer (University of Ljubljana, SI) [dblp]
- Edwin Brady (University of St. Andrews, GB) [dblp]
- Xavier Clerc (Apimka - Paris, FR) [dblp]
- Stephen Dolan (University of Cambridge, GB) [dblp]
- Andrzej Filinski (University of Copenhagen, DK) [dblp]
- Philipp Haselwarter (University of Ljubljana, SI) [dblp]
- Martin Hofmann (LMU München, DE) [dblp]
- Patricia Johann (Appalachian State University - Boone, US) [dblp]
- Yukiyoshi Kameyama (University of Tsukuba, JP) [dblp]
- Ohad Kammar (University of Cambridge, GB) [dblp]
- Oleg Kiselyov (Tohoku University - Sendai, JP) [dblp]
- Daan Leijen (Microsoft Research - Redmond, US) [dblp]
- Sam Lindley (University of Edinburgh, GB) [dblp]
- Conor McBride (University of Strathclyde - Glasgow, GB) [dblp]
- Gordon Plotkin (University of Edinburgh, GB) [dblp]
- Matija Pretnar (University of Ljubljana, SI) [dblp]
- Amr Hany Shehata Saleh (KU Leuven, BE)
- Gabriel Scherer (Northeastern University - Boston, US) [dblp]
- Tom Schrijvers (KU Leuven, BE) [dblp]
- Alex Simpson (University of Ljubljana, SI) [dblp]
- KC Sivaramakrishnan (University of Cambridge, GB) [dblp]
- Sam Staton (University of Oxford, GB) [dblp]
- Niki Vazou (University of California - San Diego, US) [dblp]
- Niels Voorneveld (University of Ljubljana, SI)
- Leo White (Jane Street - London, GB) [dblp]
- Jeremy Yallop (University of Cambridge, GB) [dblp]
Related Seminars
Classification
- programming languages / compiler
Keywords
- algebraic effects
- handlers
- computational effects
- programming languages
- implementation techniques