Multi-stage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of de...
We present a new run-time system for typed programming languages that supports object sharing in a distributed system. The key insight in this system is that the ability to distin...
Y. Charlie Hu, Weimin Yu, Alan L. Cox, Dan S. Wall...
—We propose a mathematical framework for step indexed realizability semantics of a call-by-value polymorphic lambda calculus with recursion, existential types and recursive types...
This paper addresses the problem of extending the formulae-as-types principle to classical logic. More precisely, we introduce a typed lambda-calculus (-LK ) whose inhabited types...
We present a unified approach to type checking and property checking for low-level code. Type checking for low-level code is challenging because type safety often depends on compl...
Jeremy Condit, Brian Hackett, Shuvendu K. Lahiri, ...