Sun 15 - Sat 21 November 2020 Online Conference
Fri 20 Nov 2020 15:00 - 15:20 at SPLASH-I - F-5A Chair(s): Jonathan Aldrich, David Grove
Sat 21 Nov 2020 03:00 - 03:20 at SPLASH-I - F-5A Chair(s): Alex Potanin

Effect handlers have recently gained popularity amongst programming language
researchers. Existing type- and effect systems for effect handlers
are often complicated and potentially hinder a wide-spread adoption.

We present the language Effekt with the goal to close the gap
between research languages with effect handlers and languages for
working programmers. The design of Effekt revolves around a different
view of effects and effect types. Traditionally, effect types express which
<em>side effects</em> a computation might have. In Effekt, effect types express which
<em>capabilities</em> a computation requires from its context. While this new point
in the design space of effect systems impedes reasoning about purity, we
demonstrate that it simplifies the treatment of effect polymorphism
and the related issues of effect parametricity and effect encapsulation.
To guarantee effect safety, we
separate functions from values and treat <em>all</em> functions as second-class.
We define the semantics of Effekt as a translation
to System Xi, a calculus in explicit capability-passing style.

Fri 20 Nov

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

Sat 21 Nov

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