///////////////////////////////////////////////////////////////////// // Papers on 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.
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.
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.