2001
DOI: 10.1145/507669.507658
|View full text |Cite
|
Sign up to set email alerts
|

On regions and linear types (extended abstract)

Abstract: We explore how two different mechanisms for reasoning about state, linear typing and the type, region and effect discipline, complement one another in the design of a strongly typed functional programming language. The basis for our language is a simple lambda calculus containing first-class memory regions, which are explicitly passed as arguments to functions, returned as results and stored in user-defined data structures. In order to ensure appropriate memory safety properties, we draw upon the literature on… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
25
0

Year Published

2002
2002
2017
2017

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 21 publications
(25 citation statements)
references
References 26 publications
0
25
0
Order By: Relevance
“…What we need is a type-level mechanism to reason about the identity of endpoints. Similar requirements have already arisen in different contexts, to identify regions [27,2] and to associate resources with capabilities [1,25,23]. Reframing the techniques used in these works to our setting, the idea is to refine endpoint types to a form [T ] ρ where ρ is a variable that represents the abstract identity of the endpoint at the type level.…”
Section: Introductionmentioning
confidence: 94%
See 2 more Smart Citations
“…What we need is a type-level mechanism to reason about the identity of endpoints. Similar requirements have already arisen in different contexts, to identify regions [27,2] and to associate resources with capabilities [1,25,23]. Reframing the techniques used in these works to our setting, the idea is to refine endpoint types to a form [T ] ρ where ρ is a variable that represents the abstract identity of the endpoint at the type level.…”
Section: Introductionmentioning
confidence: 94%
“…The use of type variables abstracting over the identity of endpoints has been inspired by works on regions and linear types [27,2], by L 3 [1], a language with locations supporting strong updates, and Alms [25,23], an experimental generalpurpose programming language with affine types. In these works, abstract identities are used to associate an object with the region it belongs to [27,2], or to link the (non-linear) reference to a mutable object with the (linear or affine) capability for accessing it.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Other region-based frameworks for reasoning about memory reuse have been proposed, including a system for programs in continuation-passing style [61], one based on linear types [62], and one based on an imperative region sublanguage [32,44]. Another line of related work investigates techniques for improving region-based memory management [2].…”
Section: Related Workmentioning
confidence: 99%
“…We are currently working to expand the region type and effects system to support (a) early reclamation of regions and (b) first-class regions in a style similar to what Walker and Watkins suggest [9]. We are also working on limited support for dependent types in the style of Hongwei Xi's Xanadu [10] so that programmers may better control the placement of bounds information or dynamic type tags.…”
Section: Status and Future Workmentioning
confidence: 99%