Author:
Das Ankush,Pfenning Frank
Abstract
Traditional session types prescribe bidirectional communication protocols for
concurrent computations, where well-typed programs are guaranteed to adhere to
the protocols. However, simple session types cannot capture properties beyond
the basic type of the exchanged messages. In response, recent work has extended
session types with refinements from linear arithmetic, capturing intrinsic
attributes of processes and data. These refinements then play a central role in
describing sequential and parallel complexity bounds on session-typed programs.
The Rast language provides an open-source implementation of session-typed
concurrent programs extended with arithmetic refinements as well as ergometric
and temporal types to capture work and span of program execution. To further
support generic programming, Rast also enhances arithmetically refined session
types with recently developed nested parametric polymorphism. Type checking
relies on Cooper's algorithm for quantifier elimination in Presburger
arithmetic with a few significant optimizations, and a heuristic extension to
nonlinear constraints. Rast furthermore includes a reconstruction engine so
that most program constructs pertaining the layers of refinements and resources
are inserted automatically. We provide a variety of examples to demonstrate the
expressivity of the language.
Funder
National Science Foundation
Publisher
Centre pour la Communication Scientifique Directe (CCSD)
Subject
General Computer Science,Theoretical Computer Science
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. On the Almost-Sure Termination of Binary Sessions;Proceedings of the 26th International Symposium on Principles and Practice of Declarative Programming;2024-09-09
2. sMALL CaPS: An Infinitary Linear Logic for a Calculus of Pure Sessions;Proceedings of the 26th International Symposium on Principles and Practice of Declarative Programming;2024-09-09
3. The Session Abstract Machine;Lecture Notes in Computer Science;2024
4. Implementing a Message-Passing Interpretation of the Semi-Axiomatic Sequent Calculus (Sax);Lecture Notes in Computer Science;2024
5. Intuitionistic Metric Temporal Logic;International Symposium on Principles and Practice of Declarative Programming;2023-10-22