Efficient Compilation of Algebraic Effect Handlers - Ningning Xie
Workshop on Dependable and Secure Software Systems 2021
Real-world programs come with side effects and complex control flows. How to compose different computational effects? How to handle effects differently according to applications? Algebraic effects and handlers provide a powerful and flexible way to add structured computational effects to programming languages. Unfortunately, it is not straightforward to compile effect handlers into efficient code: effect operations are generally able to capture- and resume a delimited continuation, which usually requires special runtime support to do efficiently. In this talk, I will present efficient compilation techniques for algebraic effect handlers as implemented in the Koka programming language, a function-oriented language with effect inference which is being actively developed at Microsoft Research.