I'm interested in contracts and type systems for functional and object-oriented programming languages.

Currently I'm working on new contract-related features for PLT Scheme.

In 2004-2005 I worked on Honu, an object-oriented language that restricted types to interfaces, which resulted in a form of programming that we called interface-oriented programming. This restriction also led to the separation of subtyping and subclassing in the language.

I also did some work with Sam Tobin-Hochstadt in 2008 to add non-uniform variable-arity polymorphism to Typed Scheme.

Valid XHTML 1.1 Valid CSS PLT Scheme