paperbot · PL 论文追踪

RSS

Borrowing from Session Types

OOPSLA 9(OOPSLA2)2025
Hannes Saffrich, Janek Spaderna, Peter Thiemann, Vasco T. Vasconcelos

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

Session types provide a formal framework to enforce rich communication protocols, ensuring correctness properties such as type safety and deadlock freedom. However, the traditional API of functional session type systems with first-class channels often leads to problems with modularity and composability. This paper proposes a new, alternative session type API based on borrowing, embodied in the core calculus BGV. The borrowing-based API enables building modular and composable code for session type clients without imposing clutter or undue limitations. Its basis is a novel type system, founded on ordered linear typing, for functional session types with an explicit operation for splitting ownership of channels. We establish the semantics of BGV via a type-preserving translation to PGV, a deadlock-free functional session type calculus. We establish type safety and deadlock freedom for BGV by this translation. We also present an external version of BGV that supports use of borrow notation. We developed an algorithmic version of the type system that includes a mechanized verified translation from the external language to BGV. This part establishes decidable type checking.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot2928,
  title = {Borrowing from Session Types},
  author = {Hannes Saffrich and Janek Spaderna and Peter Thiemann and Vasco T. Vasconcelos},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA2},
  year = {2025},
  doi = {10.1145/3763173}
}