paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Versatile event correlation with algebraic effects

基于代数效应的通用事件关联
ICFP 2(ICFP)2018匹配度 2/10 · 该论文属于函数式编程与语言设计方向,核心是代数效应/处理器用于异步事件流的 n 路 join 表达,不涉及静态分析、LLM/Agent、浮点或贝叶斯程序分析,与用户研究画像的核心问题无直接关联。仅在偏好理论形式化与工程实现结合这点上有很弱的间接共鸣。引用 15 inbox
Oliver Bračevac, Nada Amin, Guido Salvaneschi, Sebastian Erdweg, Patrick Eugster, Mira Mezini
crossref: 2026-09-10

AI 速览

一句话:基于代数效应与处理器,首次统一表达异步事件流上的多种 n 路 join 变体。

本文提出首个能统一表达不同领域(流关系代数、事件处理、反应式与并发编程)中异步事件流 n 路 join 变体的语言设计。作者在代数效应与处理器之上以直接风格建模异步反应式程序和 join:效应处理器作为事件通知的模块化解释器,支持细粒度控制抽象与可定制事件匹配。关键洞察是将 join 视为控制流“退化”的笛卡尔积计算,避免预先物化无用元组,并将 join 分解为通用朴素枚举与用户提供的效应处理器所表达的变体特定扩展。评估包括微基准验证该设计避免无谓物化、join 的形式语义、Koka 与多核 OCaml 原型,以及对覆盖领域与特性的系统比较。

问题
如何为来自流关系代数、事件处理、反应式与并发编程等不同领域的异步事件流,统一表达各种 n 路 join 变体。
方法
在代数效应与处理器之上以直接风格建模异步反应式程序,将 join 解释为控制流退化的笛卡尔积计算,并用用户提供的效应处理器实现变体特定扩展。
评估
通过微基准验证可扩展设计避免无用元组物化,给出 join 的形式语义,并在 Koka 与多核 OCaml 中实现原型,系统比较覆盖的领域与特性。
原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot287,
  title = {Versatile event correlation with algebraic effects},
  author = {Oliver Bračevac and Nada Amin and Guido Salvaneschi and Sebastian Erdweg and Patrick Eugster and Mira Mezini},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {2},
  number = {ICFP},
  year = {2018},
  doi = {10.1145/3236762}
}