Östlund, Johan Wrigstad, Tobias Clarke, Dave Åkerblom, Beatrice #
Lecture Notes in Business Information Processing vol:11 pages:178-197
TOOLS Europe edition:46 location:Zurich, Switzerland date:30 June - 4 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, Joe3, imposes little additional syntactic overhead, yet can encode powerful patterns such as fractional permissions and the reference modes of Flexible Alias Protection.