2008
DOI: 10.1007/978-3-540-69824-1_11
|View full text |Cite
|
Sign up to set email alerts
|

Ownership, Uniqueness, and Immutability

Abstract: Programming in an object-oriented language demands a fine balance between flexibility and control. At one level, objects need to interact freely to achieve our implementation goals. At a higher level, architectural constraints that ensure the system can be understood by new developers and can evolve as requirements change must be met. To resolve this tension, researchers have developed type systems expressing ownership and behavioural restrictions such as immutability. This work reports on our consolidation of… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
24
0

Year Published

2008
2008
2018
2018

Publication Types

Select...
6
2
1

Relationship

3
6

Authors

Journals

citations
Cited by 28 publications
(24 citation statements)
references
References 28 publications
0
24
0
Order By: Relevance
“…First, a single use of recovery may subsume multiple uses of a scoped approach to borrowing [30], where external uniqueness is preserved by permitting access to only the interior of a particular aggregate within a lexically scoped region of code. Of course, scopeless approaches to borrowing exist with more complex tracking [10,23].…”
Section: Recovering Isolationmentioning
confidence: 99%
See 1 more Smart Citation
“…First, a single use of recovery may subsume multiple uses of a scoped approach to borrowing [30], where external uniqueness is preserved by permitting access to only the interior of a particular aggregate within a lexically scoped region of code. Of course, scopeless approaches to borrowing exist with more complex tracking [10,23].…”
Section: Recovering Isolationmentioning
confidence: 99%
“…Ostlund et al [30] present an ownership type and effect system for a language Joe 3 with the explicit aim of supporting reference immutability idioms by embedding into an ownership type system. Owner polymorphic methods declare the effects they may have on each ownership domain, treating ownership domains as regions [35,36].…”
Section: Related Workmentioning
confidence: 99%
“…However, linearity causes problems of its own: linear objects cannot be stored in shared data structures, and this tends to restrict expressivity. There is a large literature on less extreme techniques for static control of aliasing: Hogg' [42] among others. In future work we intend to use an off-the-shelf technique for more sophisticated alias analysis.…”
Section: Related Workmentioning
confidence: 99%
“…So for example, an IGJ map class can require its keys to be immutable, but could permit its values to be either mutable or immutable, and these restrictions will be statically enforced by a generic type system.Östlund et al [17] use an ownership type system to obtain similar flexibility.…”
Section: Object Initialisation and Immutabilitymentioning
confidence: 99%