Despite the extensiveness of recent investigations on static typing for XML, parametric polymorphism has rarely been treated. This well-established typing discipline can also be u...
This paper proposes a novel approach to shape analysis: using local reasoning about individual heap locations of global reasoning about entire heap abstractions. We present an int...
We describe a unified framework for random interpretation that generalizes previous randomized intraprocedural analyses, and also extends naturally to efficient interprocedural an...
We define a language CQP (Communicating Quantum Processes) for modelling systems which combine quantum and classical communication and computation. CQP combines the communication ...
We present a new approach to partial-order reduction for model checking software. This approach is based on initially exploring an arbitrary interleaving of the various concurrent...
We introduce transactors, a fault-tolerant programming model for composing loosely-coupled distributed components running in an unreliable environment such as the internet into sy...
In 1996, Gil and Lorenz proposed programming language constructs for specifying environmental acquisition in addition to inheritance acquisition for objects. They noticed that in ...
Traditional class and object encodings are difficult to use in practical type-preserving compilers because of the complexity of the encodings. We propose a simple typed intermedia...
Haskell's type classes allow ad-hoc overloading, or typeindexing, of functions. A natural generalisation is to allow type-indexing of data types as well. It turns out that th...
Manuel M. T. Chakravarty, Gabriele Keller, Simon L...