Hello! My name is Jonathan (legally) or Jon (informally). I am a Master’s student in the Software Practices Lab at UBC. My research interests include dependent types, proof assistants, type theory, compilers, and mathematical logic.

If you’re here from clicking a link on one of my Statements of Purpose, hi! 👋


I am working with Prof. William J. Bowman on two projects, both of which are about sized types, a type-based method of checking termination of recursive functions. The first, Is Sized Typing for Coq Practical?, explores the viability of an implementation of fully-inferred sized types in Coq’s kernel in terms of performance and metatheory, and the second, Towards a Syntatic Model of Sized Dependent Types, seeks to prove the logical consistency of a different sized type theory by compiling to a type theory that is known to be consistent.


I have been a graduate TA for two courses at UBC: CPSC 311 (Definition of Programing Languages) in 2020WT1 and 2021WT1, where students learn about various features of PLs and write interpreters for them, and CPSC 312 (Functional and Logic Programming) in 2020WT2, where students get some hands-on experience using Haskell and Prolog. I have also been a student volunteer at POPL 2020, ICFP 2020, and POPL 2021, as well as an attendee at PLISS 2019 and OPLSS 2021.

GitHub button @ionathanch GitLab button @ionathanch Twitter button @ionathanch Mastodon button @ionchy@types.pl Instagram button @ionchyeats