Affiliation:
1. Nova University of Lisbon, Portugal
Abstract
We develop a principled integration of shared mutable state into a proposition-as-types linear logic interpretation of a session-based concurrent programming language. While the foundation of type systems for the functional core of programming languages often builds on the proposition-as-types correspondence, automatically ensuring strong safety and liveness properties, imperative features have mostly been handled by extra-logical constructions. Our system crucially builds on the integration of nondeterminism and sharing, inspired by logical rules of differential linear logic, and ensures session fidelity, progress, confluence and normalisation, while being able to handle first-class shareable reference cells storing any persistent object. We also show how preservation and, perhaps surprisingly, progress, resiliently survive in a natural extension of our language with first-class locks. We illustrate the expressiveness of our language with examples highlighting detailed features, up to simple shareable concurrent ADTs.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Message-Observing Sessions;Proceedings of the ACM on Programming Languages;2024-04-29
2. Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message Passing;Proceedings of the ACM on Programming Languages;2024-01-05
3. The Session Abstract Machine;Lecture Notes in Computer Science;2024
4. Prioritise the Best Variation;Logical Methods in Computer Science;2023-12-18
5. Mechanizing Session-Types using a Structural View: Enforcing Linearity without Linearity;Proceedings of the ACM on Programming Languages;2023-10-16