Affiliation:
1. INRIA
2. INRIA, Paris Cedex, France
Abstract
The programming language Mezzo is equipped with a rich type system that controls aliasing and access to mutable memory. We give a comprehensive tutorial overview of the language. Then we present a modular formalization of Mezzo’s core type system, in the form of a concurrent λ-calculus, which we successively extend with references, locks, and adoption and abandon, a novel mechanism that marries Mezzo’s static ownership discipline with dynamic ownership tests. We prove that well-typed programs do not go wrong and are data-race free. Our definitions and proofs are machine checked.
Publisher
Association for Computing Machinery (ACM)
Reference104 articles.
1. The ins and outs of Clean I/O
2. Permission-Based Separation Logic for Multithreaded Java Programs
3. Thibaut Balabonski and François Pottier. 2014. A Coq formalization of Mezzo take 2. (July 2014). http://gallium.inria.fr/∼fpottier/mezzo/mezzo-coq.tar.gz. Thibaut Balabonski and François Pottier. 2014. A Coq formalization of Mezzo take 2. (July 2014). http://gallium.inria.fr/∼fpottier/mezzo/mezzo-coq.tar.gz.
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Polymorphic Reachability Types: Tracking Freshness, Aliasing, and Separation in Higher-Order Generic Programs;Proceedings of the ACM on Programming Languages;2024-01-05
2. Aeneas: Rust verification by functional translation;Proceedings of the ACM on Programming Languages;2022-08-29
3. A flexible type system for fearless concurrency;Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2022-06-09
4. Toward a Lingua Franca for Memory Safety.;The Journal of Object Technology;2022
5. GhostCell: separating permissions from data in Rust;Proceedings of the ACM on Programming Languages;2021-08-22