Generalized algebraic data types (GADTs) have received much attention recently in the functional programming community. They generalize the (type) parameterized algebraic datatype...
Maintaining object-oriented systems that use inheritance and polymorphism is difficult, since runtime information, such as which methods are actually invoked at a call site, is n...
Interfaces as defined in the JAVA programming language can enhance both decoupling and comprehensibility of large code bases. Several researchers have pointed out this key role of...
Object technology was first created in 1967, but it had to wait till the mid 80’s for widespread acceptance and adoption. We observe that that was not the only hiatus for the te...
We present a new way to generate type-error messages in a polymorphic, implicitly, and strongly typed language (specifically Caml). Our method separates error-message generation ...