paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Compiling with the Sequent Calculus

用相继式演算编译
TOPLAS ACM Transactions on Programming Languages and Systems2026匹配度 1/10 · 论文研究基于相继式演算的编译器设计与实现,属于纯函数式编程语言和编译技术,与用户关注的PL与AI交叉(如静态分析、LLM/Agent改进分析、浮点/贝叶斯程序分析)无直接关联。引用 0 inbox
Marius Müller, David Binder, Marco Tzschentke, Philipp Schuster, Klaus Ostermann, Jonathan Immanuel Brachthäuser
crossref: 2026-09-10

AI 速览

一句话:提出以相继式演算贯穿全程的编译器,支持控制效应与 data/codata 混合求值,可生成机器码。

将高层函数式语言高效编译到现代机器码需跨越众多抽象层次,若语言包含控制效应并混合求值策略(如按值 data 与按名 codata)则更难。论文完整讲述从带控制效应、同时含 data 与 codata 的简单函数式语言到标准平台机器码的编译过程。与现有函数式编译器不同,其所有中间阶段均采用受相继式演算启发的语言,这类语言以消费者(表示程序上下文)为一等公民。作者将该工作视为 Appel“Compiling with Continuations”的延续与泛化,展示了一条统一的编译路径。摘要未给出量化评估,但表明可生成标准平台机器码。

问题
如何将带控制效应和混合求值策略(按值 data、按名 codata)的高层函数式语言高效编译到现代机器码,并跨越多个抽象层次。
方法
采用受相继式演算启发的语言作为所有中间阶段,使消费者(程序上下文)成为一等公民,从源语言完整编译到机器码。
评估
摘要未报告量化实验或基准测试,主要贡献是端到端编译器设计,并声称可生成标准平台机器码。
原文摘要(Abstract)

Compiling a high-level functional programming language to machine code that can be executed efficiently on a modern machine is complicated, since we have to traverse many different levels of abstraction. This is particularly challenging if the language contains some form of control effects and a mix of different evaluation strategies, such as call-by-value data types and call-by-name codata types. In this paper, we tell the complete story, starting from a simple functional programming language with control effects and both data and codata types, and ending up with machine code for standard platforms. What distinguishes our compiler from all other existing compilers for functional programming languages is that, instead of natural-deduction-based languages like the lambda calculus, we use sequent-calculus-inspired languages throughout all intermediate stages. These sequent-calculus-based languages are characterized by the first-class nature of consumers, which represent program contexts. In this sense, we view our work as a continuation, and generalization, of Andrew Appel's landmark work on “Compiling with Continuations”.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot3945,
  title = {Compiling with the Sequent Calculus},
  author = {Marius Müller and David Binder and Marco Tzschentke and Philipp Schuster and Klaus Ostermann and Jonathan Immanuel Brachthäuser},
  booktitle = {TOPLAS},
  year = {2026},
  doi = {10.1145/3845991}
}