Atomic regions are an important concept in correct concurrent programming: since atomic regions can be viewed as having executed in a single step, atomicity greatly reduces the nu...
This paper presents the design of G, a new language specifically created for generic programming. We review and identify important language features of C++ and Haskell in light o...
Type-based reasoning is popular in functional programming. In particular, parametric polymorphism constrains functions in such a way that statements about their behavior can be de...
Jan Christiansen, Daniel Seidel, Janis Voigtlä...
Beginning with BETA, a range of programming language mechanisms such as virtual classes (class-valued attributes of objects) have been developed to allow inheritance in the presen...
Dave Clarke, Sophia Drossopoulou, James Noble, Tob...
Type abstraction and intensional type analysis are features seemingly at odds--type abstraction is intended to guarantee parametricity and representation independence, while type ...