Applicative functors and monads have conquered the world of functional programming by providing general and powerful ways of describing effectful computations using pure functions. Applicative functors provide a way to compose independent effects that cannot depend on values produced by earlier computations, and all of which are declared statically. Monads extend the applicative interface by making it possible to compose dependent effects, where the value computed by one effect determines all subsequent effects, dynamically.
This paper introduces an intermediate abstraction called selective applicative functors that requires all effects to be declared statically, but provides a way to select which of the effects to execute dynamically. We demonstrate applications of the new abstraction on several examples, including two industrial case studies.
Mon 19 AugDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:50 - 18:00 | |||
16:50 23mTalk | Simple Noninterference from Parametricity Research Papers Maximilian Algehed Chalmers University of Technology, Sweden, Jean-Philippe Bernardy University of Gothenburg | ||
17:13 23mTalk | Selective Applicative Functors Research Papers Andrey Mokhov Newcastle University, UK, Georgy Lukyanov Newcastle University, UK, Simon Marlow Facebook, Jeremie Dimino Jane Street Europe Link to publication | ||
17:36 23mTalk | Coherence of Type Class Resolution Research Papers Gert-Jan Bottu KU Leuven, Ningning Xie University of Toronto, Koar Marntirosian KU Leuven, Tom Schrijvers KU Leuven |