Topological relationships like overlap, inside, meet, and disjoint uniquely characterize the relative position between objects in space. For a long time, they have been a focus of...
We present a programming technique for implementing type safe covariance in C++. In a sense, we implement most of Bruce’s matching approach to the covariance dilemma in C++. The...
In this paper we propose a type-based framework for using logic programming for XML processing. We transform XML documents into terms and DTDs into regular types. We implemented a ...
A number of programming languages use rich type systems to verify security properties of code. Some of these languages are meant for source programming, but programs written in th...
Programming with dependent types is a blessing and a curse. It is a blessing to be able to bake invariants into the definition of datatypes: we can finally write correct-by-cons...