We present a statically typed, class-based object oriented language where classes are first class polymorphic values. A main contribution of this work is the design of a type syst...
Several techniques have been proposed for adding persistence to the Java language environment. This paper describes a system we call icee that works by checkpointing the Java Virt...
We define a core language combining computational and architectural primitives, and study how static typing may be used to ensure safety properties of component composition and dyn...
Disproof can be as important as proof in studying programs and programming languages. In particular, side conditions in a statement about program behavior are sometimes best unders...