Versatile event correlation with algebraic effects
View / Open Files
Authors
Bračevac, Oliver
Amin, Nada
Salvaneschi, Guido
Erdweg, Sebastian
Eugster, Patrick
Mezini, Mira
Publication Date
2018-07-30Journal Title
Proceedings of the ACM on Programming Languages
Conference Name
ICFP
ISSN
2475-1421
Publisher
Association for Computing Machinery (ACM)
Volume
2
Issue
ICFP
Pages
1-31
Language
en
Type
Conference Object
Metadata
Show full item recordCitation
Bračevac, O., Amin, N., Salvaneschi, G., Erdweg, S., Eugster, P., & Mezini, M. (2018). Versatile event correlation with algebraic effects. Proceedings of the ACM on Programming Languages, 2 (ICFP), 1-31. https://doi.org/10.1145/3236762
Abstract
<jats:p>
We present the first language design to uniformly express variants of
<jats:italic>n</jats:italic>
-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.
</jats:p>
Sponsorship
ERC, Advanced Grant No. 321217
ERC, Consolidator Grant No. 617805
DFG, SFB 1053
DFG, SA 2918/2-1
Identifiers
External DOI: https://doi.org/10.1145/3236762
This record's URL: https://www.repository.cam.ac.uk/handle/1810/282854
Statistics
Total file downloads (since January 2020). For more information on metrics see the
IRUS guide.
Recommended or similar items
The current recommendation prototype on the Apollo Repository will be turned off on 03 February 2023. Although the pilot has been fruitful for both parties, the service provider IKVA is focusing on horizon scanning products and so the recommender service can no longer be supported. We recognise the importance of recommender services in supporting research discovery and are evaluating offerings from other service providers. If you would like to offer feedback on this decision please contact us on: support@repository.cam.ac.uk