• Publications
  • Influence
TALx86: A Realistic Typed Assembly Language∗
The goal of typed assembly language (TAL) is to provide a low-level, statically typed target language that is better suited than Java bytecodes for supporting a wide variety of source languages and aExpand
  • 232
  • 29
  • Open Access
Typed memory management in a calculus of capabilities
An increasing number of systems rely on programming language technology to ensure safety and security of low-level code. Unfortunately, these systems typically rely on a complex, trusted garbageExpand
  • 255
  • 16
  • Open Access
What is a recursive module?
A hierarchical module system is an effective tool for structuring large programs. Strictly hierarchical module systems impose an acyclic ordering on import dependencies among program units. This canExpand
  • 127
  • 15
  • Open Access
Stack-Based Typed Assembly Language
In previous work, we presented a Typed Assembly Language (TAL). TAL is sufficiently expressive to serve as a target language for compilers of high-level languages such as ML. This work assumed such aExpand
  • 164
  • 13
  • Open Access
From system F to typed assembly language
We motivate the design of a statically typed assembly language (TAL) and present a type-preserving translation from System F to TAL. The TAL we present is based on a conventional RISC assemblyExpand
  • 192
  • 12
  • Open Access
Typed memory management via static capabilities
Region-based memory management is an alternative to standard tracing garbage collection that makes operation such as memory deallocation explicit but verifiably safe. In this article, we present aExpand
  • 110
  • 10
  • Open Access
Flexible type analysis
Run-time type dispatch enables a variety of advanced optimization techniques for polymorphic languages, including tag-free garbage collection, unboxed function arguments, and flattened dataExpand
  • 104
  • 10
  • Open Access
Type-Safe Distributed Programming with ML5
We present ML5, a high level programming language for spatially distributed computing. The language, a variant of ML, allows an entire distributed application to be developed and reasoned about as aExpand
  • 65
  • 8
  • Open Access
Type-theoretic methodology for practical programming languages
The significance of type theory to the theory of programming languages has long been recognized. Advances in programming languages have often derived from understanding that stems from type theory.Expand
  • 48
  • 8
  • Open Access
Resource bound certification
Various code certification systems allow the certification and static verification of important safety properties such as memory and control-flow safety. These systems are valuable tools forExpand
  • 227
  • 7
  • Open Access