Linear type systems permit programmers to deallocate or explicitly recycle memory, but are severely restricted by the fact that they admit no aliasing. This paper describes a pseudo-linear type system that allows a degree of aliasing and memory reuse as well as the ability to de ne complex recursive data structures. Our type system can encode conventional linear data structures such as linear lists and trees as well as more sophisticated data structures including cyclic and doubly-linked lists and trees. In the latter cases, our type system is expressive enough to represent pointer aliasing and yet safely permit destructive operations such as object deallocation. We demonstrate the exibility ofour type system by encoding two common space-co...
References are a programming language construct that lets a programmer access a datum invariant of i...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Object-oriented systems are typically structured as complex networks of interacting mutable objects....
Linear type systems permit programmers to deallocate or explicitly recycle memory, but they are seve...
Linear type systems allow destructive operations such as object deallocation and imperative updates ...
Linear references are guaranteed to be free from aliases. This is a strong property that simplifies ...
Even though impressive progress has been made in the area of optimizing and parallelizing scientific...
A linear reference is a reference guaranteed to be unaliased. Thisis a powerful property that simpli...
Existing methods for alias analysis of recursive pointer data structures are based on two approximat...
. Object-oriented systems are typically structured as complex networks of interacting mutable object...
Pointers are variables that store addresses of other variables. Pointer analysis determines what add...
This paper evaluates three alias analyses based on programming language types. The first analysis us...
This paper evaluates three alias analyses based on program-ming language types. The first analysis u...
This paper evaluates three alias analyses based on programming language types. The first analysis us...
International audienceIn this paper we investigate the existence of a deductive verification method ...
References are a programming language construct that lets a programmer access a datum invariant of i...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Object-oriented systems are typically structured as complex networks of interacting mutable objects....
Linear type systems permit programmers to deallocate or explicitly recycle memory, but they are seve...
Linear type systems allow destructive operations such as object deallocation and imperative updates ...
Linear references are guaranteed to be free from aliases. This is a strong property that simplifies ...
Even though impressive progress has been made in the area of optimizing and parallelizing scientific...
A linear reference is a reference guaranteed to be unaliased. Thisis a powerful property that simpli...
Existing methods for alias analysis of recursive pointer data structures are based on two approximat...
. Object-oriented systems are typically structured as complex networks of interacting mutable object...
Pointers are variables that store addresses of other variables. Pointer analysis determines what add...
This paper evaluates three alias analyses based on programming language types. The first analysis us...
This paper evaluates three alias analyses based on program-ming language types. The first analysis u...
This paper evaluates three alias analyses based on programming language types. The first analysis us...
International audienceIn this paper we investigate the existence of a deductive verification method ...
References are a programming language construct that lets a programmer access a datum invariant of i...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Object-oriented systems are typically structured as complex networks of interacting mutable objects....