paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Efficient, Portable, Census-Polymorphic Choreographic Programming

高效、可移植且支持参与者数量多态(census polymorphism)的编排式编程
PLDI 9(PLDI)2025匹配度 1/10 · 论文属于分布式编程语言理论中的编排编程,研究库级实现、条件通信优化与多语言移植,未涉及 LLM/Agent、静态分析、浮点或贝叶斯程序分析,与用户核心研究方向无直接关联。虽然兼具形式化与多语言工程实现,但主题不在画像范围内。引用 5 inbox
Mako Bates, Shun Kashiwa, Syed Jafri, Gan Shen, Lindsey Kuper, Joseph P. Near
crossref: 2026-09-10

AI 速览

一句话:提出 conclave、多位置值与 census 多态,使库级编排编程的分支无需冗余通信且可跨宿主语言移植。

库级编排编程(如 HasChor)易与主流语言集成,但存在条件分支需要额外通信、依赖宿主语言特性(如 monad)以及缺乏实现真实分布式应用所需编程模式等局限。本文对库级编排编程做出三项贡献:一是提出并形式化 conclave 与多位置值(multiply-located values),在不引入冗余通信的前提下支持高效条件分支;二是提出 census 多态,用于对编排中参与者数量进行抽象;三是给出一种不依赖 monad 的宿主语言中实现库级编排编程的设计模式。作者通过 Haskell、Rust 和 TypeScript 中的实现展示了这些贡献。

问题
库级编排编程虽便于与主流语言集成,但其条件分支需要额外通信、依赖特定宿主语言特性,且缺乏实现真实分布式应用所需的编程模式。
方法
提出并形式化 conclave 与多位置值以支持高效条件分支,提出 census 多态以抽象参与者数量,并给出无需 monad 的宿主语言中库级编排编程设计模式。
评估
通过在 Haskell、Rust 和 TypeScript 中实现上述贡献来展示其有效性与可移植性。
原文摘要(Abstract)

Choreographic programming (CP) is a paradigm for implementing distributed systems that uses a single global program to define the actions and interactions of all participants. Library-level CP implementations, like HasChor, integrate well with mainstream programming languages but have several limitations: Their conditionals require extra communication; they require specific host-language features ( e.g ., monads); and they lack support for programming patterns that are essential for implementing realistic distributed applications. We make three contributions to library-level CP to specifically address these challenges. First, we propose and formalize conclaves and multiply-located values, which enable efficient conditionals in library-level CP without redundant communication. Second, we propose census polymorphism, a technique for abstracting over the number of participants in a choreography. Third, we introduce a design pattern for library-level CP in host languages without support for monads. We demonstrate these contributions via implementations in Haskell, Rust, and TypeScript.

链接与引用

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

BibTeX
@article{paperbot3136,
  title = {Efficient, Portable, Census-Polymorphic Choreographic Programming},
  author = {Mako Bates and Shun Kashiwa and Syed Jafri and Gan Shen and Lindsey Kuper and Joseph P. Near},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {PLDI},
  year = {2025},
  doi = {10.1145/3729296}
}