Programming with permissions in Mezzo

Abstract : We present Mezzo, a typed programming language of ML lineage. Mezzo is equipped with a novel static discipline of duplicable and affine permissions, which controls aliasing and ownership. This rules out certain mistakes, including representation exposure and data races, and enables new idioms, such as gradual initialization, memory re-use, and (type)state changes. Although the core static discipline disallows sharing a mutable data structure, Mezzo offers several ways of working around this restriction, including a novel dynamic ownership control mechanism which we dub "adoption and abandon".
Document type :
Conference papers
Complete list of metadatas

Cited literature [34 references]  Display  Hide  Download

https://hal.inria.fr/hal-00877590
Contributor : François Pottier <>
Submitted on : Monday, October 28, 2013 - 9:47:00 PM
Last modification on : Friday, May 25, 2018 - 12:02:07 PM
Long-term archiving on : Wednesday, January 29, 2014 - 4:50:27 AM

File

pottier-protzenko-mezzo.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

François Pottier, Jonathan Protzenko. Programming with permissions in Mezzo. ICFP - The 18th ACM SIGPLAN International Conference on Functional Programming - 2013, Sep 2013, Boston, United States. pp.173-184, ⟨10.1145/2500365.2500598⟩. ⟨hal-00877590⟩

Share

Metrics

Record views

285

Files downloads

344