Standard ML is a statically typed programming language that is suited for the construction of both small and large programs. "Programming in the small" is captured by St...
Various code certification systems allow the certification and static verification of important safety properties such as memory and control-flow safety. These systems are valuabl...
We present a general technique for extending Java-like languages with dynamic overloading, where method selection depends on the dynamic type of the parameter, instead of just the ...
We present four constructions for standard equipment which can be generated for every inductive datatype: case analysis, structural recursion, no confusion, acyclicity. Our constru...
In languages that support polymorphic variants, a single variant value can be passed to many contexts that accept different sets of constructors. Polymorphic variants are potenti...