paperbot · PL 论文追踪

RSS

The fire triangle: how to mix substitution, dependent elimination, and effects

POPL 4(POPL)2019
Pierre-Marie Pédrot, Nicolas Tabareau

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

原文摘要(Abstract)

There is a critical tension between substitution, dependent elimination and effects in type theory. In this paper, we crystallize this tension in the form of a no-go theorem that constitutes the fire triangle of type theory. To release this tension, we propose ∂CBPV, an extension of call-by-push-value (CBPV) —a general calculus of effects—to dependent types. Then, by extending to ∂CBPV the well-known decompositions of call-by-name and call-by-value into CBPV, we show why, in presence of effects, dependent elimination must be restricted in call-by-name, and substitution must be restricted in call-by-value. To justify ∂CBPV and show that it is general enough to interpret many kinds of effects, we define various effectful syntactic translations from ∂CBPV to Martin-Löf type theory: the reader, weaning and forcing translations.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot522,
  title = {The fire triangle: how to mix substitution, dependent elimination, and effects},
  author = {Pierre-Marie Pédrot and Nicolas Tabareau},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {POPL},
  year = {2019},
  doi = {10.1145/3371126}
}