My research area is the theory and practice of programming languages, building type systems that make software better: refinement type systems catch more bugs; languages for incremental computation can asymptotically improve performance with little programmer effort. Bidirectional typing has been a key technical ingredient in much of my work.
For more details, see my CV (last updated April 2020).
Until 2020, I published under a different first name. I can't control what publishers do, but I am correcting my name in copies under my control. If you cite me, please use my current name. If you are citing a sole-authored paper of mine and need to use a pronoun, please use she/her/her/hers/herself.
Electric trolleybus in Vancouver.
2021: Bidirectional Typing has been accepted to ACM Computing Surveys.
Sound and complete bidirectional typechecking for higher-rank polymorphism with existentials and indexed types was accepted to POPL 2019.
NSERC increased my Discovery award to $33,000/year.
Was awarded a Discovery grant ($26,000/year for 5 years) from NSERC/CRSNG.
2017: Moved to Kingston and joined the School of Computing at Queen's.
2016: Completed a draft on refinement types for incremental computation.
"Extensible datasort refinements" was accepted to ESOP 2017.
"Sums of Uncertainty: Refinements go gradual" was accepted to POPL 2017. My coauthor, Khurram A. Jafery, received a 2017 CRA Outstanding Undergraduate Researcher award.
2015: "Incremental computation with names" appeared at OOPSLA 2015. "Elaborating evaluation-order polymorphism" appeared at ICFP 2015.