Effect handling is a way to structure and scope side-effects which is gaining popularity as an alternative to monads in purely functional programming languages. Languages with support for effect handling allow the programmer to define idioms for state, exception handling, asynchrony, backtracking etc. from within the language. Functional programming languages, however, operate within a closed world assumption, which prohibits certain patterns of polymorphism well-known from object-oriented languages. In this paper we introduce JEff, an object-oriented programming language with native support for effect handling, to provide first answers to the question what it would mean to integrate OO programming with effect handling. We illustrate how user defined effects could benefit from interface polymorphism, and present its runtime semantics and type system.
Thu 8 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
13:30 - 15:00 | |||
13:30 30mTalk | A CAPable distributed programming model Onward! Papers Florian Myter Vrije Universiteit Brussel, Belgium, Christophe Scholliers Universiteit Gent, Belgium, Wolfgang De Meuter Vrije Universiteit Brussel | ||
14:00 30mTalk | Protecting Chatbots from Toxic Content Onward! Papers Guillaume Baudart IBM Research, Julian Dolby IBM Research, Evelyn Duesterwald IBM Research, Martin Hirzel IBM Research, Avraham Shinnar IBM Research | ||
14:30 30mTalk | JEff: Objects for Effect Onward! Papers |