A designer of the Hope and Standard ML programming languages, and an implementer of the Standard ML of New Jersey (SML/NJ) compiler. Does research in functional language design, compilers, tools, and libraries; type systems and type checking, module systems; formal semantics of programming languages.