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

We present the first language design to uniformly express variants of n-way joins over asynchronous event streams from different domains, e.g., stream-relational algebra, event processing, reactive and concurrent programming. We model asynchronous reactive programs and joins in direct style, on top of algebraic effects and handlers. Effect handlers act as modular interpreters of event notifications, enabling fine-grained control abstractions and customizable event matching. Join variants can be considered as cartesian product computations with “degenerate” control flow, such that unnecessary tuples are not materialized a priori. Based on this computational interpretation, we decompose joins into a generic, naive enumeration procedure of the cartesian product, plus variant-specific extensions, represented in terms of user-supplied effect handlers. Our microbenchmarks validate that this extensible design avoids needless materialization. Alongside a formal semantics for joining and prototypes in Koka and multicore OCaml, we contribute a systematic comparison of the covered domains and features.

Mon 24 Sep

icfp-2018-papers
15:00 - 16:10: Research Papers - Continuations and Effects at Stifel Theatre
Chair(s): Martin ElsmanUniversity of Copenhagen, Denmark
icfp-2018-papers15:00 - 15:23
Talk
DOI
icfp-2018-papers15:23 - 15:46
Talk
Youyou CongOchanomizu University, Japan, Kenichi AsaiOchanomizu University
DOI
icfp-2018-papers15:46 - 16:10
Talk
Oliver BračevacTU Darmstadt, Nada AminUniversity of Cambridge, Guido SalvaneschiTU Darmstadt, Sebastian ErdwegDelft University of Technology, Netherlands, Patrick EugsterPurdue University, Mira MeziniTU Darmstadt
DOI