Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018 St. Louis, Missouri, United States
Mon 24 Sep 2018 15:00 - 15:23 at Stifel Theatre - Continuations and Effects Chair(s): Martin Elsman

Delimited continuations are the mother of all monads! So goes the slogan inspired by Filinski’s 1994 paper, which showed that delimited continuations can implement any monadic effect, letting the programmer use an effect as easily as if it was built into the language. It’s a shame that not many languages have delimited continuations.

Luckily, exceptions and state are also the mother of all monads! In this Pearl, we show how to implement delimited continuations in terms of exceptions and state, a construction we call thermometer continuations. While traditional implementations of delimited continuations require some way of “capturing” an intermediate state of the computation, the insight of thermometer continuations is to reach this intermediate state by replaying the entire computation from the start, guiding it using a recording it so that the same thing happens until the captured point.

Along the way, we explain delimited continuations and monadic reflection, show how the Filinski construction lets thermometer continuations express any monadic effect, share an elegant special-case for nondeterminism, and discuss why our construction is not prevented by theoretical results that exceptions and state cannot macro-express continuations.

Mon 24 Sep

Displayed time zone: Guadalajara, Mexico City, Monterrey change

15:00 - 16:10
Continuations and EffectsResearch Papers at Stifel Theatre
Chair(s): Martin Elsman University of Copenhagen, Denmark
15:00
23m
Talk
Capturing the Future by Replaying the Past (Functional Pearl)
Research Papers
DOI
15:23
23m
Talk
Handling Delimited Continuations with Dependent Types
Research Papers
Youyou Cong Ochanomizu University, Japan, Kenichi Asai Ochanomizu University
DOI
15:46
23m
Talk
Versatile Event Correlation with Algebraic Effects
Research Papers
Oliver Bračevac TU Darmstadt, Nada Amin University of Cambridge, Guido Salvaneschi TU Darmstadt, Sebastian Erdweg Delft University of Technology, Netherlands, Patrick Eugster Purdue University, Mira Mezini TU Darmstadt
DOI