paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Effects and Coeffects in Call-by-Push-Value

Call-by-Push-Value 中的效应与余效应
OOPSLA 8(OOPSLA2)2024匹配度 3/10 · 该论文属于类型系统、效应/余效应追踪与 Coq 形式化验证,与静态分析和形式化验证的理论基础有一定关联;但它不涉及 LLM/Agent、ML 系统、浮点程序分析或贝叶斯程序分析等用户当前核心交叉方向,也未强调工业落地或问题驱动的 benchmark。引用 8 inbox
Cassia Torczon, Emmanuel Suárez Acevedo, Shubh Agrawal, Joey Velez-Ginorio, Stephanie Weirich
dblp: 2026-09-10crossref: 2026-09-10arxiv: 2026-09-10

AI 速览

一句话:将效应与余效应追踪引入 CBPV 类型系统,证明其可靠性并在 Coq 中机器化验证。

本文研究在 call-by-push-value(CBPV)类型系统中加入效应与余效应追踪。CBPV 因隔离效应并能清晰表达按名与按值计算而常用于编译。作者为 CBPV 设计带效应和余效应的类型系统,并证明 effect-and-coeffect soundness:类型可准确界定程序执行中触发的效应,并追踪程序对环境提出的需求。该可靠性对两种动态语义成立:一种通用语义可适配不同余效应;另一种面向资源使用,会丢弃未使用值和无纯计算,但保证有副作用的计算即使结果不被需要也始终求值。结果已在 Coq 中机器化验证。

问题
如何将代价、活跃性、数据流等编译期分析统一表示为效应与余效应,并在 CBPV 中保证类型系统能可靠描述程序执行行为及其对环境的需求。
方法
扩展 CBPV 类型系统以追踪效应与余效应,给出通用及面向资源使用的两种动态语义,并证明 effect-and-coeffect soundness。
评估
通过 Coq 证明助手机器化验证可靠性定理,覆盖两种动态语义;评估以形式化证明为主。
原文摘要(Abstract)

Effect and coeffect tracking integrate many types of compile-time analysis, such as cost, liveness, or dataflow, directly into a language’s type system. In this paper, we investigate the addition of effect and coeffect tracking to the type system of call-by-push-value (CBPV), a computational model useful in compilation for its isolation of effects and for its ability to cleanly express both call-by-name and call-by-value computations. Our main result is effect-and-coeffect soundness , which asserts that the type system accurately bounds the effects that the program may trigger during execution and accurately tracks the demands that the program may make on its environment. This result holds for two different dynamic semantics: a generic one that can be adapted for different coeffects and one that is adapted for reasoning about resource usage. In particular, the second semantics discards the evaluation of unused values and pure computations while ensuring that effectful computations are always evaluated, even if their results are not required. Our results have been mechanized using the Coq proof assistant.

链接与引用

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

BibTeX
@article{TorczonAAVW24,
  title = {Effects and Coeffects in Call-by-Push-Value},
  author = {Cassia Torczon and Emmanuel Suárez Acevedo and Shubh Agrawal and Joey Velez-Ginorio and Stephanie Weirich},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA2},
  year = {2024},
  doi = {10.1145/3689750}
}