We define seal, an untyped call-by-value -calculus with primitives for protecting abstract data by sealing, and develop a bisimulation proof method that is sound and complete with...
Many classical compiler optimizations can be elegantly expressed using rewrite rules of form: I = I if , where I, I are intermediate language instructions and is a property expre...
David Lacey, Neil D. Jones, Eric Van Wyk, Carl Chr...
We report on an extension of Haskell with open type-level functions and equality constraints that unifies earlier work on GADTs, functional dependencies, and associated types. The...
Tom Schrijvers, Simon L. Peyton Jones, Manuel M. T...
It is possible to extend the basic notion of "function call" to allow functions to have multiple return points. This turns out to be a surprisingly useful mechanism. Thi...
Object-oriented programs are notable for making use of both rder abstractions and mutable, aliased state. Either feature alone is challenging for formal verification, and the com...
Neelakantan R. Krishnaswami, Jonathan Aldrich, Lar...