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 express-ing ownership and behavioural restrictions such as immutability. This work reports on our consolidation of the resulting discoveries into a sin-gle programming language. Our language, Joe3, imposes little additional syntactic overhead, yet can encode powerful patterns such as fractional permissions and the reference modes of Fle...
International audienceThe programming language Mezzo is equipped with a rich type system that contro...
We present an imperative object calculus where types are annotated with qualifiers for aliasing and ...
Generic programming has turned out very useful in the development of reusable software. With the Jav...
Programming in an object-oriented language demands a fine balance between flexibility and control. A...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Abstract. Object ownership is an approach to controlling aliasing in programming languages. Proposal...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
<p>In object-oriented programming, unique permissions to object references are useful for checking c...
Ownership types were devised nearly 15 years ago to provide a stronger notion of protection to objec...
Ownership types enforce encapsulation in object-oriented programs by ensuring that objects cannot be...
Contains fulltext : 34651.pdf (preprint version ) (Open Access)We extend a Java-li...
Abstract. We extend a Java-like language with immutability specifications and a static type system f...
We present Mezzo, a typed programming language of ML lineage. Mezzo is equipped with a novel static ...
International audienceThe programming language Mezzo is equipped with a rich type system that contro...
We present an imperative object calculus where types are annotated with qualifiers for aliasing and ...
Generic programming has turned out very useful in the development of reusable software. With the Jav...
Programming in an object-oriented language demands a fine balance between flexibility and control. A...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Abstract. Object ownership is an approach to controlling aliasing in programming languages. Proposal...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
<p>In object-oriented programming, unique permissions to object references are useful for checking c...
Ownership types were devised nearly 15 years ago to provide a stronger notion of protection to objec...
Ownership types enforce encapsulation in object-oriented programs by ensuring that objects cannot be...
Contains fulltext : 34651.pdf (preprint version ) (Open Access)We extend a Java-li...
Abstract. We extend a Java-like language with immutability specifications and a static type system f...
We present Mezzo, a typed programming language of ML lineage. Mezzo is equipped with a novel static ...
International audienceThe programming language Mezzo is equipped with a rich type system that contro...
We present an imperative object calculus where types are annotated with qualifiers for aliasing and ...
Generic programming has turned out very useful in the development of reusable software. With the Jav...