2016
DOI: 10.1145/3022671.2984042
|View full text |Cite
|
Sign up to set email alerts
|

LaCasa: lightweight affinity and object capabilities in Scala

Abstract: Aliasing is a known source of challenges in the context of imperative object-oriented languages, which have led to important advances in type systems for aliasing control. However, their large-scale adoption has turned out to be a surprisingly difficult challenge. While new language designs show promise, they do not address the need of aliasing control in existing languages.This paper presents a new approach to isolation and uniqueness in an existing, widely-used language, Scala. The approach is unique in the … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
3
2
1

Relationship

2
4

Authors

Journals

citations
Cited by 8 publications
(7 citation statements)
references
References 58 publications
0
7
0
Order By: Relevance
“…The underlying problem that our effect system solves is a general one: we need to restrict the lifetime of a resource (capabilities in our case) to a certain dynamic region (the call to handle in our case). This problem occurs in the domain of regionbased resource management (Kiselyov & Shan, 2008), object capabilities (Haller & Loiko, 2016), delimited control (Dybvig et al, 2007), scope safety in type-safe metaprogramming (Parreaux et al, 2017), as well as with prompt-based implementations of effect handlers (Brachthäuser & Schuster, 2017). Our effect system is inspired by the λ calculus (Zhang & Myers, 2019), which uses dependent types to track the set of used labels (i.e., capabilities) in the effect type.…”
Section: Establishing Effect Safetymentioning
confidence: 99%
“…The underlying problem that our effect system solves is a general one: we need to restrict the lifetime of a resource (capabilities in our case) to a certain dynamic region (the call to handle in our case). This problem occurs in the domain of regionbased resource management (Kiselyov & Shan, 2008), object capabilities (Haller & Loiko, 2016), delimited control (Dybvig et al, 2007), scope safety in type-safe metaprogramming (Parreaux et al, 2017), as well as with prompt-based implementations of effect handlers (Brachthäuser & Schuster, 2017). Our effect system is inspired by the λ calculus (Zhang & Myers, 2019), which uses dependent types to track the set of used labels (i.e., capabilities) in the effect type.…”
Section: Establishing Effect Safetymentioning
confidence: 99%
“…Consequently, it cannot utilize unions, even though they naturally express the underlying communication. 9 Others have considered static assurance of actor isolation through types (Srinivasan & Mycroft, 2008;Clebsch et al, 2015;Haller & Loiko, 2016) or verification (Summers & Müller, 2016). These approaches focus on isolating mutable heap references among actors, versus partial failure of components discussed here.…”
Section: Related Workmentioning
confidence: 99%
“…It is important to note that this strategy requires notifying a silo's host whenever a SiloRef to the silo reaches a new machine, to increase the silo's reference count. The second approach leverages uniqueness types in Scala (Haller & Odersky, 2010;Haller & Loiko, 2016). Here, SiloRefs are locally unique, and the programmer can explicitly declare a SiloRef as unused; the type system ensures that such an "unused" SiloRef is not used again subsequently.…”
Section: Memory Reclamationmentioning
confidence: 99%