SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Fri 20 Nov 2020 15:00 - 15:20 at OOPSLA/ECOOP - F-5A
Sat 21 Nov 2020 03:00 - 03:20 at OOPSLA/ECOOP - F-5A

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. In this paper, 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 side effects a computation might have. In Effekt, effect types express which capabilities a computation requires from its context. While this new point in the design space of effect systems impedes reasoning about the absense of effects, we demonstrate that it significantly 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 all functions as second-class. We define the semantics of Effekt as a translation to System Xi, a calculus in explicit capability-passing style. We prove soundness of System Xi and of our translation. We present a full implementation together with an IDE integration helping programmers to understand the typing of effectful programs.

Fri 20 Nov
Times are displayed in time zone: Central Time (US & Canada) change

15:00 - 16:20: F-5AOOPSLA at OOPSLA/ECOOP +12h
15:00 - 15:20
Talk
OOPSLA
Jonathan Immanuel BrachthäuserUniversity of Tübingen, Germany, Philipp SchusterUniversity of Tübingen, Germany, Klaus OstermannUniversity of Tübingen, Germany
DOI Pre-print
15:20 - 15:40
Talk
OOPSLA
Tobias GrosserETH Zurich, Switzerland, Theodoros TheodoridisETH Zurich, Maxmilian FalkensteinETH Zurich, Arjun PitchanathanIIIT Hyderabad, Michael KruseArgonne National Laboratory, Manuel RiggerETH Zurich, Switzerland, Zhendong SuETH Zurich, Switzerland, Torsten HoeflerDepartment of Computer Science, ETH Zurich

Sat 21 Nov
Times are displayed in time zone: Central Time (US & Canada) change

03:00 - 04:20: F-5AOOPSLA at OOPSLA/ECOOP
03:00 - 03:20
Talk
OOPSLA
Jonathan Immanuel BrachthäuserUniversity of Tübingen, Germany, Philipp SchusterUniversity of Tübingen, Germany, Klaus OstermannUniversity of Tübingen, Germany
DOI Pre-print
03:20 - 03:40
Talk
OOPSLA
Tobias GrosserETH Zurich, Switzerland, Theodoros TheodoridisETH Zurich, Maxmilian FalkensteinETH Zurich, Arjun PitchanathanIIIT Hyderabad, Michael KruseArgonne National Laboratory, Manuel RiggerETH Zurich, Switzerland, Zhendong SuETH Zurich, Switzerland, Torsten HoeflerDepartment of Computer Science, ETH Zurich