We present a new role system in which the type (or role) of each object depends on its referencing relationships with other objects, with the role changing as these relationships ...
Several recent language designs have offered a unified language for programming a distributed system, with explicit notation of locations; we call these “location-aware” lan...
In this paper we present co-transformation, a novel approach to the mapping of execution information from the source code of a program to the object code for the purpose of worst-...
ASL+ is a formalism for speci cation and programming in-the-large, based on an arbitrary institution. It has rules for proving the satisfaction and re nement of speci cations, whic...
A number of useful optimisations are enabled if we can determine when a value is accessed at most once. We extend the Hindley-Milner type system with uses, yielding a typeinferenc...