Ownership types: A survey
Ownership types were devised nearly 15 years ago to provide a stronger notion of protection
to object-oriented programming languages. Rather than simply protecting the fields of an …
to object-oriented programming languages. Rather than simply protecting the fields of an …
Deny capabilities for safe, fast actors
S Clebsch, S Drossopoulou, S Blessing… - Proceedings of the 5th …, 2015 - dl.acm.org
Combining the actor-model with shared memory for performance is efficient but can
introduce data-races. Existing approaches to static data-race freedom are based on …
introduce data-races. Existing approaches to static data-race freedom are based on …
Uniqueness and reference immutability for safe parallelism
CS Gordon, MJ Parkinson, J Parsons… - ACM SIGPLAN …, 2012 - dl.acm.org
A key challenge for concurrent programming is that side-effects (memory operations) in one
thread can affect the behavior of another thread. In this paper, we present a type system to …
thread can affect the behavior of another thread. In this paper, we present a type system to …
A lightweight formalism for reference lifetimes and borrowing in Rust
DJ Pearce - ACM Transactions on Programming Languages and …, 2021 - dl.acm.org
Rust is a relatively new programming language that has gained significant traction since its
v1. 0 release in 2015. Rust aims to be a systems language that competes with C/C++. A …
v1. 0 release in 2015. Rust aims to be a systems language that competes with C/C++. A …
A grounded conceptual model for ownership types in Rust
W Crichton, G Gray, S Krishnamurthi - Proceedings of the ACM on …, 2023 - dl.acm.org
Programmers learning Rust struggle to understand ownership types, Rust's core mechanism
for ensuring memory safety without garbage collection. This paper describes our attempt to …
for ensuring memory safety without garbage collection. This paper describes our attempt to …
Modular session types for distributed object-oriented programming
Session types allow communication protocols to be specified type-theoretically so that
protocol implementations can be verified by static type-checking. We extend previous work …
protocol implementations can be verified by static type-checking. We extend previous work …
Ownership and immutability in generic Java
The Java language lacks the important notions of ownership (an object owns its
representation to prevent unwanted aliasing) and immutability (the division into mutable …
representation to prevent unwanted aliasing) and immutability (the division into mutable …
Minimal ownership for active objects
Active objects offer a structured approach to concurrency, encapsulating both unshared
state and a thread of control. For efficient data transfer, data should be passed by reference …
state and a thread of control. For efficient data transfer, data should be passed by reference …
Immutability
One of the main reasons aliasing has to be controlled, as highlighted in another chapter [1]
of this book [2], is the possibility that a variable can unexpectedly change its value without …
of this book [2], is the possibility that a variable can unexpectedly change its value without …
Loci: Simple Thread-Locality for Java
T Wrigstad, F Pizlo, F Meawad, L Zhao… - ECOOP 2009–Object …, 2009 - Springer
This paper presents a simple type system for thread-local data in Java. Classes and types
are annotated to express thread-locality and unintended leaks are detected at compile-time …
are annotated to express thread-locality and unintended leaks are detected at compile-time …