Share This Author
Higher-order abstract syntax
Higher-order abstract syntax incorporates name binding information in a uniform and language generic way and acts as a powerful link integrating diverse tools in program manipulation and other formal systems where matching and substitution or unification are central operations.
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
Twelf is a meta-logical framework for the specification, implementation, and meta-theory of deductive systems from the theory of programming languages and logics and is a significant extension and complete reimplementation of the Elf system.
Dependent types in practical programming
We present an approach to enriching the type system of ML with a restricted form of dependent types, where type index objects are drawn from a constraint domain C, leading to the DML(C) language…
Uniform Proofs as a Foundation for Logic Programming
Session Types as Intuitionistic Linear Propositions
This paper introduces a type system for the π-calculus that exactly corresponds to the standard sequent calculus proof system for dual intuitionistic linear logic, and provides the first purely logical account of all features of session types.
A judgmental reconstruction of modal logic
This work reconsiders the foundations of modal logic, following Martin-Löf's methodology of distinguishing judgments from propositions, and gives a new presentation of lax logic, finding that the lax modality is already expressible using possibility and necessity.
Refinement types for ML
A type system called refinement types is described, which is an example of a new way to make this tradeoff, as well as a potentially useful system in itself.
A modal analysis of staged computation
The main technical result is a conservative embedding of Nielson & Nielson's two-level functional language in the language Mini-ML, thus proving that binding-time correctness is equivalent to modal correctness on this fragment.
Eliminating array bound checking through dependent types
We present a type-based approach to eliminating array bound checking and list tag checking by conservatively extending Standard ML with a restricted form of dependent types. This enables the…