Modeling Reachability Types with Logical Relations

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Bao, Yuyan, Jia, Songlin, Wei, Guannan, Bračevac, Oliver, Rompf, Tiark
Format: Preprint
Published: 2023
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866915539797934080
author Bao, Yuyan
Jia, Songlin
Wei, Guannan
Bračevac, Oliver
Rompf, Tiark
author_facet Bao, Yuyan
Jia, Songlin
Wei, Guannan
Bračevac, Oliver
Rompf, Tiark
contents Reachability types are a recent proposal to bring Rust-style reasoning about memory properties to higher-level languages, with a focus on higher-order functions, parametric types, and shared mutable state -- features that are only partially supported by current techniques as employed in Rust. While prior work has established key type soundness results for reachability types using the usual syntactic techniques of progress and preservation, stronger metatheoretic properties have so far been unexplored. This paper presents an alternative semantic model of reachability types using logical relations, providing a framework in which we study key properties of interest: (1) semantic type soundness, including of not syntactically well-typed code fragments, (2) termination, especially in the presence of higher-order state, (3) effect safety, especially the absence of observable mutation, and, finally, (4) program equivalence, especially reordering of non-interfering expressions for parallelization or compiler optimization.
format Preprint
id arxiv_https___arxiv_org_abs_2309_05885
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Modeling Reachability Types with Logical Relations
Bao, Yuyan
Jia, Songlin
Wei, Guannan
Bračevac, Oliver
Rompf, Tiark
Programming Languages
Reachability types are a recent proposal to bring Rust-style reasoning about memory properties to higher-level languages, with a focus on higher-order functions, parametric types, and shared mutable state -- features that are only partially supported by current techniques as employed in Rust. While prior work has established key type soundness results for reachability types using the usual syntactic techniques of progress and preservation, stronger metatheoretic properties have so far been unexplored. This paper presents an alternative semantic model of reachability types using logical relations, providing a framework in which we study key properties of interest: (1) semantic type soundness, including of not syntactically well-typed code fragments, (2) termination, especially in the presence of higher-order state, (3) effect safety, especially the absence of observable mutation, and, finally, (4) program equivalence, especially reordering of non-interfering expressions for parallelization or compiler optimization.
title Modeling Reachability Types with Logical Relations
topic Programming Languages
url https://arxiv.org/abs/2309.05885