Title
Reachability types: tracking aliasing and separation in higher-order functional programs
Abstract
AbstractOwnership type systems, based on the idea of enforcing unique access paths, have been primarily focused on objects and top-level classes. However, existing models do not as readily reflect the finer aspects of nested lexical scopes, capturing, or escaping closures in higher-order functional programming patterns, which are increasingly adopted even in mainstream object-oriented languages. We present a new type system, λ* , which enables expressive ownership-style reasoning across higher-order functions. It tracks sharing and separation through reachability sets, and layers additional mechanisms for selectively enforcing uniqueness on top of it. Based on reachability sets, we extend the type system with an expressive flow-sensitive effect system, which enables flavors of move semantics and ownership transfer. In addition, we present several case studies and extensions, including applications to capabilities for algebraic effects, one-shot continuations, and safe parallelization.
Year
DOI
Venue
2021
10.1145/3485516
Proceedings of the ACM on Programming Languages
Keywords
DocType
Volume
reachability types, ownership types, aliasing, type systems, effect systems
Journal
5
Issue
Citations 
PageRank 
OOPSLA
0
0.34
References 
Authors
0
6
Name
Order
Citations
PageRank
Yuyan Bao101.35
Guannan Wei212.38
Oliver Bracevac300.68
Yuxuan Jiang400.34
Qiyang He500.34
Tiark Rompf674345.86