Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Sun 23 Aug 2020 12:00 - 12:45 at HOPE - Session 2

Effect handlers have recently gained popularity amongst programming language researchers. However, existing type- and effect systems often complicate the language and potentially hinder a more wide-spread adoption.

In this talk, we present the language Effekt with the goal to close the gap between research languages with sophisticated effect systems and languages for working programmers. The design of Effekt revolves around a radically different view of effects and effect types. Traditionally, effect types express which side effects a computation might have. In Effekt, effect types express which capabilities a computation requires from its context.

This approach has a number of interesting consequences. To guarantee effect safety, we separate functions and values and treat all functions as second-class. While Effekt supports higher-order functions, functions cannot be returned or stored in data structures. This leads to a lightweight effect system without parametric effect polymorphism. We argue the resulting system is significantly easier to understand, while offering the usual safety guarantees and reasoning with effect parametricity.

Conference Day
Sun 23 Aug

Displayed time zone: Eastern Time (US & Canada) change