His most notable research is in the field of type theory. He co-created the programming language Epigram with James McKinna. Several of his articles, including the joint-written article defining the Epigram language, have been published in the Journal of Functional Programming.