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.