paperbot · PL 论文追踪

RSS

Generalized evidence passing for effect handlers: efficient compilation of effect handlers to C

ICFP 5(ICFP)2021
Ningning Xie, Daan Leijen

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

This paper studies compilation techniques for algebraic effect handlers. In particular, we present a sequence of refinements of algebraic effects, going via multi-prompt delimited control, _generalized evidence passing_, yield bubbling, and finally a monadic translation into plain lambda calculus which can be compiled efficiently to many target platforms. Along the way we explore various interesting points in the design space. We provide two implementations of our techniques, one as a library in Haskell, and one as a C backend for the Koka programming language. We show that our techniques are effective, by comparing against three other best-in-class implementations of effect handlers: multi-core OCaml, the _Ev.Eff_ Haskell library, and the libhandler C library. We hope this work can serve as a basis for future designs and implementations of algebraic effects.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot1117,
  title = {Generalized evidence passing for effect handlers: efficient compilation of effect handlers to C},
  author = {Ningning Xie and Daan Leijen},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {ICFP},
  year = {2021},
  doi = {10.1145/3473576}
}