Principal Investigator for the NSF-funded project 'Extensible LCF-style Theorem Proving with Dependent Rows' (2025-2029), which develops new foundations for machine-verified proof in programming languages and mathematics. Key contribution includes a novel impredicative dependent row type theory.
Research Experience
Currently an assistant professor in the Department of Computer Science at the University of Iowa, working with Andrew Marmaduke, Apoorv Ingle, and Alex Hubers on row types and the semantics of overloading. Co-leads the Computational Logic Center. Previously, he was faculty at the University of Kansas and a researcher in the Laboratory for Foundations of Computer Science at the University of Edinburgh, where he worked on the ABCD project studying the role of session types in safe concurrent and distributed programming. Also contributed to the design and implementation of linear and session types for the Links programming language.
Education
Ph.D. from the Computer Science Department at Portland State University, advised by Mark P. Jones.
Background
Studies the foundations of programming: how we construct programs and how we reason about them. His thesis is that advances in type systems empower programmers to create better-written, better-understood programs. Specifically, he has studied the use of substructural type systems to guarantee lock freedom in concurrent programs and the use of qualified types to capture a uniform description of various methods for composing records, variants, and program modules.
Miscellany
Looking for good students with a background in functional programming, an interest in the theory and implementation of type systems in modern functional languages, to work with him at UI.