Write a Blog >>
ICFP 2016
Sun 18 - Sat 24 September 2016 Nara, Japan
Sun 18 Sep 2016 15:30 - 16:00 at Conference Room 3 - Session 3 (Compilation)

Algebraic effect handlers are recently gaining in popularity as a purely functional approach to modeling effects. As a restriction on general monads, algebraic effects come with various advantages: they can be freely composed, and there is a natural separation between their interface (as a set of operations) and their semantics (as a handler).

In this talk, I give an end-to-end overview of practical algebraic effects in the context of a compiled implementation in the Koka language. I’ll present a language design for algebraic effects, and show how algebraic effects subsume many control-flow constructs that are specialized in other languages, e.g. exceptions, state, iterators, async-await, etc. In particular, iterators and async-await are complex constructs that can lead to subtle interactions with other features and require complex compilation mechanisms. Being able to generalize over them using a single well-founded abstraction is a huge win.

Finally, I’ll briefly discuss an effective type inference algorithm based on extensible effect rows using scoped labels, a direct operational semantics. and an efficient compilation scheme to common runtime platforms (such as JavaScript, the JVM, or .NET) using a type directed selective CPS translation.

I am a member of the Research In Software Engineering (RISE) group and chair of the Programming Languages working group (PLX). Currently, I am interested in the design and application of strong type systems and declarative programming languages, like Haskell. In particular, I am interested in programming with Effect inference in the Koka project. Furthermore, I work on domain specific embedded languages, language design, and compiler technology.

Sun 18 Sep

hope-2016-papers
15:30 - 16:30: HOPE - Session 3 (Compilation) at Conference Room 3
hope-2016-papers15:30 - 16:00
Talk
Daan LeijenMicrosoft Research
Link to publication
hope-2016-papers16:00 - 16:30
Talk
Luke MaurerUniversity of Oregon, USA, Paul DownenUniversity of Oregon, USA, Zena M. AriolaUniversity of Oregon, USA, Simon Peyton JonesMicrosoft Research, UK