paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Pirouette: higher-order typed functional choreographies

Pirouette:高阶类型化函数式编排编程
POPL 6(POPL)2022匹配度 2/10 · 该论文属于分布式编程、类型系统与 Coq 形式化验证的 PL 理论工作,不涉及 LLM/Agentic 程序、静态分析在 ML 系统中的应用、浮点程序分析或贝叶斯程序分析,仅在“形式化验证”方向上与研究画像有极弱的间接关联。引用 31 inbox
Andrew K. Hirsch, Deepak Garg
crossref: 2026-09-10

AI 速览

一句话:提出 Pirouette,一种带类型的高阶函数式编排编程语言,可将中心化程序投影为分布式节点程序,并保证消息类型健全与无死锁。

分布式系统编程通常需分别编写各节点代码,难以保证通信类型安全与全局性质。Pirouette 提供一种带类型的高阶函数式编排编程语言:程序员编写一个中心化的函数式程序,再通过 endpoint projection(端点投影)编译为分布式系统中每个节点的本地程序。该语言在消息的本地语言之上泛型定义,并将其消息类型系统的保证提升到编排层;消息类型健全性同时保证无死锁。所有结果均在 Coq 中机器化验证。

问题
如何让程序员以中心化方式编写分布式程序,并通过类型系统保证端点投影后各节点程序的消息类型安全与无死锁?
方法
设计 Pirouette 语言:支持高阶函数式编排,定义于消息本地语言之上,通过端点投影将中心化程序编译为各节点程序,并将消息类型系统的保证提升到编排层。
评估
在 Coq 中形式化证明消息类型健全性、端点投影正确性以及由消息类型健全性推出的无死锁等所有结果。
原文摘要(Abstract)

We present Pirouette, a language for typed higher-order functional choreographic programming. Pirouette offers programmers the ability to write a centralized functional program and compile it via endpoint projection into programs for each node in a distributed system. Moreover, Pirouette is defined generically over a (local) language of messages, and lifts guarantees about the message type system to its own. Message type soundness also guarantees deadlock freedom. All of our results are verified in Coq.

链接与引用

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

BibTeX
@article{paperbot1571,
  title = {Pirouette: higher-order typed functional choreographies},
  author = {Andrew K. Hirsch and Deepak Garg},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {6},
  number = {POPL},
  year = {2022},
  doi = {10.1145/3498684}
}