Abstract. It is natural to present subtyping for recursive types coinductively. However, Gapeyev, Levin and Pierce have noted that there is a problem with coinductive definitions ...
Sized types are a modular and theoretically well-understood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track ...
One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a too...
Polyvios Pratikakis, Jeffrey S. Foster, Michael W....
This paper analyzes a language for actions and the deontic modalities over actions -- i.e., the modalities permitted, forbidden and obligatory. The work is based on: (1) an action...
Java(X) is a framework for type refinement. It extends Java's type language with annotations drawn from an algebra X and structural subtyping in terms of the annotations. Each...