Paulette Koronkevich

PhD candidate in the Software Practices Lab at University of British Columbia.

This picture includes most of my favorite things.

email: pletrec@cs.ubc.ca
cv: pdf

I'm currently working with William J. Bowman on type preserving compilation of dependent types. In my master's thesis I developed a dependent-type-preserving ANF translation. My current project and dissertation is on the semantics of memory and region-based allocation.

Also, Racket is my favorite programming language.

research and publications

My research is on mathematical models of new programming languages where programmers can better express their intent, towards the verification of correctness of computer programs. In particular, I focus on studying and designing functional languages that interact with computer memory, similar to languages like Standard ML. Programmers require programming languages where the memory behaviour can be specified at the language level and preserved by the language compiler, so that their programs do not behave unexpectedly and therefore potentially incorrectly. My research specifically emphasizes both the theory of language design and the practice of writing compilers.

Type Universes as Kripke Worlds
Paulette Koronkevich, William J. Bowman
International Conference on Functional Programming (ICFP) 2025
talk (by me) DOI

Type-Preserving Flat Closure Optimization
Adam T. Geller, Sean Bocirnea, Chester J. F. Gould, Paulette Koronkevich, William J. Bowman
Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) 2025
DOI

ANF Preserves Dependent Types up to Extensional Equality
Paulette Koronkevich, Ramon Rakow, Amal Ahmed, William J. Bowman
Journal of Functional Programming
talk (by me) DOI

Dependent-type-preserving Memory Allocation
Paulette Koronkevich
Second place at Principles of Programming Languages (POPL) 2022
talk (by me) preprint

ANF Preserves Dependent Types up to Extensional Equality (MSc Thesis, August 2021)
Paulette Koronkevich
UBC Electronic Theses and Dissertations (ETDs) 2008+
DOI

PLIERS: A Process that Integrates User-Centered Methods into Programming Language Design
Michael Coblenz, Gauri Kambhatla, Paulette Koronkevich, Jenna L. Wise, Celeste Barnaby, Joshua Sunshine, Jonathan Aldrich, and Brad A. Myers.
ACM Transactions on Computer-Human Interaction (TOCHI) 2021
ACM DL

Obsidian: Typestate and Assets for Safer Blockchain Programming
Michael Coblenz, Reed Oei, Tyler Etzel, Paulette Koronkevich, Miles Baker, Yannick Bloem, Brad A. Myers, Joshua Sunshine, and Jonathan Aldrich.
ACM Transactions on Programming Languages and Systems (TOPLAS) 2020
ACM DL

presentations

Type Universes as Kripke Worlds: Memory Management Edition (invited talk at IWACO@SPLASH 2025)
talk

One Weird Trick to Untie Landin's Knot (HOPE@ICFP 2023)
talk abstract

Making the Most out of Conferences (PLMW@ICFP)
talk (2025) talk (2023) talk (2022)

Reigniting Fuse: An Online Partial Evaluator for Scheme
talk

teaching

current, as a sessional instructor

CPSC 311: Definition of Programming Languages (sessional instructor)

past, as a sessional instructor

CPSC 411: Compiler Construction(sessional instructor), for which I won a departmental Incredible Instructor Award
CPSC 110: Systematic Program Design (sessional instructor)

past, as a teaching assistant

CPSC 203: Programming, problem solving, and algorithms (course for non-CPSC majors)
CPSC 411: Compiler Construction
CPSC 311: Definition of Programming Languages
CPSC 509: Programming Languages

While at Indiana University as an undergraduaate, I had the privilege of working as a teaching assistant for many courses.

CSCI-C211: Introduction to Computer Science, also made videos and labs as supplementary material.
CSCI-C311: Programming Languages
CSCI-B490: Dependent Types
EDUC-X 152: Mapping Your Future

Here is some additional stuff I did while at Indiana University.