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 inference and type reconstruction derive static types for program elements that have no static type associated with them. They have a wide range of usage, such as helping to ...
ML modules and Haskell type classes have proven to be highly effective tools for program structuring. Modules emphasize explicit configuration of program components and the use of...
Derek Dreyer, Robert Harper, Manuel M. T. Chakrava...
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...
Atomicity is a fundamental correctness property in multithreaded programs. This paper presents an algorithm for verifying atomicity via type inference. The underlying type system ...
Cormac Flanagan, Stephen N. Freund, Marina Lifshin