Markup languages, representations, schemas, and tools have significantly increased the ability for organizations to share their information. Languages such as the Extensible Marku...
We address the problem of reasoning about Haskell programs that use Software Transactional Memory (STM). As a motivating example, we consider Haskell code for a concurrent non-det...
Modeling is used to build structures that serve as surrogates for other objects. As children, we learn to model at a very young age. An object such as a small toy train teaches us...
This paper describes Bramble, a toolkit for constructing graphical editing applications. The primary focus of Bramble is improve support for graphical manipulation by employing di...
We present a general theory of Gifford-style type and effect annotations, where effect annotations are sets of effects. Generality is achieved by recourse to the theory of algebra...