paperbot · PL 论文追踪

全部论文 待读 收藏

P2 DeCo: A Core Calculus for Incremental Functional Programming with Generic Data Types

DeCo:一种支持泛型数据类型的增量函数式编程核心演算
OOPSLA 10(OOPSLA1)2026匹配度 3/10 · 该论文属于程序语言理论与形式化验证,涉及核心演算与 Lean 机械化证明,与用户对 PL/形式化方法的一般兴趣有一定交集;但其主题是泛型数据类型的增量函数式编程,不涉及静态分析在 ML/Agentic 程序中的应用、LLM 与静态分析/形式化验证的交叉、浮点程序分析或贝叶斯程序分析。引用 0 inbox
Timon Böhler, Tobias Reinhard, David Richter, Mira Mezini
crossref: 2026-09-10

AI 速览

一句话:提出 DeCo 核心演算,支持泛型数据类型的静态增量函数式编程,并在 Lean 中机械化证明其可靠性。

增量计算通过避免不必要的重复计算和复用先前结果来加速程序。领域特定技术可取得显著加速,但难以泛化;通用方法则对领域特定操作支持不足,常将其视为黑盒。本文提出 DeCo,一种支持广泛用户自定义数据类型的增量函数式编程核心演算。尽管具有通用性,它能静态增量计算用户自定义数据类型上的领域特定操作,因此比其他通用技术更细粒度。作者在 Lean 中机械化该工作并证明其可靠性,即增量执行与完全重求值得到相同结果。还提供可执行实现,案例涵盖线性代数、关系代数、字典、树和无冲突复制数据类型,并对线性/关系代数及树进行了简要性能评估。

问题
如何在通用函数式语言中支持对用户自定义泛型数据类型上的领域特定操作进行细粒度增量计算,同时避免领域特定技术难以泛化、通用技术将操作视为黑盒的问题。
方法
提出 DeCo 核心演算,通过静态增量计算机制处理广泛用户自定义数据类型上的操作,并在 Lean 中机械化演算与可靠性证明,同时提供可执行实现。
评估
在 Lean 中机械化证明可靠性,即增量执行与完全重求值等价;并通过线性代数、关系代数、字典、树、CRDT 等案例及线性/关系代数与树的简要性能评估验证实现。
原文摘要(Abstract)

Incrementalization speeds up computations by avoiding unnecessary recomputations and by efficiently reusing previous results. While domain-specific techniques achieve impressive speedups, e.g., in the context of database queries, they are difficult to generalize. Meanwhile, general approaches offer little support for incrementalizing domain-specific operations. In this work, we present DeCo , a novel core calculus for incremental functional programming with support for a wide range of user-defined data types. Despite its generic nature, our approach statically incrementalizes domain-specific operations on user-defined data types. It is, hence, more fine-grained than other generic techniques which resort to treating domain-specific operations as black boxes. We mechanized our work in Lean and proved it sound, meaning incrementalized execution computes the same result as full reevaluation. We also provide an executable implementation with case studies featuring examples from linear algebra, relational algebra, dictionaries, trees, and conflict-free replicated data types, plus a brief performance evaluation on linear and relational algebra and on trees.

链接与引用

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

BibTeX
@article{paperbot3817,
  title = {DeCo: A Core Calculus for Incremental Functional Programming with Generic Data Types},
  author = {Timon Böhler and Tobias Reinhard and David Richter and Mira Mezini},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {OOPSLA1},
  year = {2026},
  doi = {10.1145/3798264}
}