// Papers on Joe_3 (Ownership, Uniqueness and Immutability)

Joe_3: Ownership, Uniqueness and Immutability

Johan Östlund, Tobias Wrigstad, Dave Clarke, Beatrice Åkerblom

In proceedings of Objects, Components, Models and Patterns 46th International Conference, TOOLS EUROPE 2008, Zurich, Switzerland, June/July, 2008.


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 the resulting discoveries into a single programming language. Our language, Joe_3, imposes little additional syntactic overhead, yet can encode powerful patterns such as fractional permissions and the reference modes of Flexible Alias Protection.

Download paper

Joe_3 at IWCAO 2007

A lengthier version of this paper appeared at IWACO 2007. It essentially has the same content, but have lenghtier explanations due to lax space restrictions. This paper is available here.

Joe_3 Compiler

The Joe_3 compiler was based written by Johan Östlund and Tobias Wrigstad. It was based on the Joelle Compiler by the same authors, and can be made available on request.