paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Alice or Bob?: Process polymorphism in choreographies

Alice 还是 Bob?编排中的进程多态
JFP vol.342024匹配度 2/10 · 该论文属于程序语言理论中的编排编程、类型系统与并发方向,虽与PL相关,但未涉及用户核心关注的PL×AI、静态分析/形式化验证与LLM结合、浮点程序分析或贝叶斯程序分析。引用 8 inbox
EVA GRAVERSEN, ANDREW K. HIRSCH, FABRIZIO MONTESI
crossref: 2026-09-10

AI 速览

一句话:提出 PolyChorλ,首个支持类型与进程多态的高阶函数式编排语言,可在运行时确定参与者并保持投影程序无死锁。

本文提出 PolyChorλ,一种面向高阶函数式编排编程(choreographic programming)的语言。编排编程要求程序员描述多个进程的协作行为,再通过端点投影(endpoint projection)为每个进程生成实现。PolyChorλ 在 Chorλ 基础上引入受 System Fω 启发的类型多态与进程多态,是首个支持泛型编排并在运行时决定参与进程的高阶函数式编排语言。该组合还允许进程之间通信分布式值,从而以直观方式表达委托(delegation)。虽然其函数式特性使编排语义与端点投影后并发系统之间的对应关系弱于某些编排语言,但仍保持编排编程的标志性结果:投影所得程序在设计上无死锁。

问题
如何在高阶函数式编排编程中支持类型多态与进程多态,使程序员能编写泛型编排并在运行时确定参与者,同时保持端点投影的正确性?
方法
设计 PolyChorλ 语言,基于 System Fω 加入类型多态和进程多态,支持分布式值与委托,并定义其端点投影编译。
评估
摘要未报告实现或实证基准;评估基于语言设计与端点投影的理论性质,结论是投影所得程序在设计上无死锁,并讨论其编排语义与投影系统之间的对应关系弱于某些编排语言。
原文摘要(Abstract)

Abstract We present PolyChor $\lambda$ , a language for higher-order functional choreographic programming —an emerging paradigm for concurrent programming. In choreographic programming, programmers write the desired cooperative behaviour of a system of processes and then compile it into an implementation for each process, a translation called endpoint projection . Unlike its predecessor, Chor $\lambda$ , PolyChor $\lambda$ has both type and process polymorphism inspired by System F $_\omega$ . That is, PolyChor $\lambda$ is the first (higher-order) functional choreographic language which gives programmers the ability to write generic choreographies and determine the participants at runtime. This novel combination of features also allows PolyChor $\lambda$ processes to communicate distributed values , leading to a new and intuitive way to write delegation. While some of the functional features of PolyChor $\lambda$ give it a weaker correspondence between the semantics of choreographies and their endpoint-projected concurrent systems than some other choreographic languages, we still get the hallmark end result of choreographic programming: projected programmes are deadlock-free by design.

链接与引用

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

BibTeX
@article{paperbot2688,
  title = {Alice or Bob?: Process polymorphism in choreographies},
  author = {EVA GRAVERSEN and ANDREW K. HIRSCH and FABRIZIO MONTESI},
  journal = {Journal of Functional Programming},
  volume = {34},
  year = {2024},
  doi = {10.1017/s0956796823000114}
}