GADTs have proven to be an invaluable language extension, a.o. for ensuring data invariants and program correctness. Unfortunately, they pose a tough problem for type inference: w...
Tom Schrijvers, Simon L. Peyton Jones, Martin Sulz...
Dynamic detection of likely invariants is a program analysis that generalizes over observed values to hypothesize program properties. The reported program properties are a set of ...
We present CIL , a typed -calculus which serves as the foundation for a typed intermediate language for optimizing compilers for higher-order polymorphic programming languages. Th...
J. B. Wells, Allyn Dimock, Robert Muller, Franklyn...
The development of design patterns in object-oriented programming aims at capturing good software design in a re-usable generic form. However, design patterns are not expressible ...
Ondrej Rypacek, Roland Carl Backhouse, Henrik Nils...
We show that standard formulations of intersection type systems are unsound in the presence of computational effects, and propose a solution similar to the value restriction for ...