Expertise

Programming language semantics, functional programming, tools for teaching formal language theory.

Programming language semantics: operational semantics frameworks, logical relations, lambda definability, full abstraction and the relationship between operational and denotational semantics, models of the applied typed lambda calculus PCF.

Logic: proof search and countermodel generation for intuitionistic propositional logic.

Functional programming: ML, Concurrent ML, eXene, pretty printing.

Formal language theory: I'm building a toolset (written in ML) for experimenting with formal languages, and writing a textbook on formal language theory that is based on this toolset.

Degrees
PhD, University of Edinburgh, Computer Science, 1987
MS, University of California, Los Angeles, Computer Science, 1981
BS, University of California, Los Angeles, Mathematics/Computer Science, 1979