• 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
Typed memory management in a calculus of capabilities
TLDR
A compiler intermediate language, called the Capability Calculus, is presented that supports region-based memory management, enjoys a provably safe type system, and is straightforward to compile to a typed assembly language. Expand
From system F to typed assembly language
TLDR
The TAL presented is based on a conventional RISC assembly language, but its static type system provides support for enforcing high-level language abstractions, such as closures, tuples, and objects, as well as user-defined abstract data types. Expand
What is a recursive module?
TLDR
A type-theoretic analysis of the notion of a recursive module in the context of a "phase-distinction" formalism for higher-order module systems and a new form of signature, called a recursively dependent signature, to support the definition of recursive modules. Expand
Stack-Based Typed Assembly Language
TLDR
STAL is presented, an extension of TAL with stack constructs and stack types to support the stack allocation style and it is shown that STAL is sufficiently expressive to support languages such as Java, Pascal, and ML; constructs such as exceptions and displays; and optimizations such as tail call elimination and callee-saves registers. Expand
Typed memory management via static capabilities
TLDR
This article presents a new compiler intermediate language, called the Capability Language (CL), that supports region-based memory management and enjoys a provably safe type systems, and shows how to translate a variant of Tofte and Talpin's high-level type-and-effects system for region- based memory management into this language. Expand
Flexible type analysis
TLDR
The language LX is presented, which provides a rich language of type constructors supporting type analysis (possibly of previous-stage types) as a programming idiom, and is quite flexible, supporting a variety of other applications such as analysis of quantified types, analysis with incomplete type information, and type classes. Expand
A monadic analysis of information flow security with mutable state
TLDR
The logical underpinnings of higher-order, security-typed languages with mutable state are explored, based on a logic of information flow derived from lax logic and the monadic metalanguage, employing an “informativeness” judgment indicating under what circumstances a type carries useful information. Expand
From system F to typed assembly language
TLDR
The compiler and typed assembly lanugage provide a fully automatic way to produce certified code, suitable for use in systems where unstrusted and potentially malicious code must be checked for safety before execution. Expand
Syntactic Logical Relations for Polymorphic and Recursive Types
  • Karl Crary, R. Harper
  • Computer Science, Mathematics
  • Electron. Notes Theor. Comput. Sci.
  • 1 April 2007
TLDR
This work extends work of Pitts and Birkedal and Harper on constructing relational interpretations of types to polymorphism and recursive types and applies it to establish parametricity and representation independence properties in a purely operational setting. Expand
...
1
2
3
4
5
...