Type classes have found a wide variety of uses in Haskell programs, from simple overloading of operators (such as equality or ordering) to complex invariants used to implement typ...
We describe an axiomatic extension to the Coq proof assistant, that supports writing, reasoning about, and extracting higher-order, dependently-typed programs with side-effects. C...
Aleksandar Nanevski, Greg Morrisett, Avraham Shinn...
We study restricted computation models related to the tree evaluation problem. The TEP was introduced in earlier work as a simple candidate for the (very) long term goal of separa...
Existing ML-like languages guarantee type-safety, ensuring memty and protecting the invariants of abstract types, but only within single executions of single programs. Distributed...
John Billings, Peter Sewell, Mark R. Shinwell, Rok...
We present a new approach to the old problem of adding side effects to purely functional languages. Our idea is to extend the language with "witnesses," which is based o...