I design and implement programming languages. I aim for language abstractions with rich expressive power, fast implementations, and strong guarantees. I invite broad-minded, technically strong students (undergrad & grad) to join me in exploring fun ideas in PL and at the intersection of PL with other areas.

Graduate Students

Jianlin Li (PhD)   Ende Jin (MMath'23)   Cong Ma (PhD)   Oghenevwogaga Ebresafe (MMath)

Selected Peer-Reviewed Publications
    OOPSLA 2024
Lexical Effect Handlers, Directly

Compiling high-level, modular algebraic effects to low-level, swift stack switching

Cong Ma, Zhaoyi Ge, Edward Lee, Yizhou Zhang

    PLDI 2024
Compiling Probabilistic Programs for Variable Elimination with Information Flow

A compiler factorizes recursive probabilistic programs for scalable inference.

Jianlin Li, Eric Wang, Yizhou Zhang

    OOPSLA 2024
Persimmon: Nested Family Polymorphism with Extensible Variant Types

Reconciling algebraic data types with scalable extensibility

Anastasiya Kravchuk-Kirilyuk, Gary Feng, Jonas Iskander, Yizhou Zhang, Nada Amin

    PLDI 2023
Extensible Metatheory Mechanization via Family Polymorphism

An object-oriented idea lends itself to reusable proofs!

Ende Jin, Nada Amin, Yizhou Zhang

ACM SIGPLAN Distinguished Paper Award
    POPL 2023
Type-Preserving, Dependence-Aware Guide Generation for Sound, Effective Amortized Probabilistic Inference

Symbolic methods (a type system and an analysis) aid in neural-network-based inference.

Jianlin Li, Leni Ven, Pengyuan Shi, Yizhou Zhang

    POPL 2022
Reasoning about “Reasoning about Reasoning”

Reasoning principles for probabilistic programs that model rational agents

Yizhou Zhang, Nada Amin

    OOPSLA 2020
Handling Bidirectional Control Flow

Handlers for “effectful effects”? Yes, with a type system to defend abstractions.

Yizhou Zhang, Guido Salvaneschi, Andrew C. Myers

    RA-L 2020
Path Planning under Malicious Injections and Removals of Perceived Obstacles: a Probabilistic Programming Approach

Robots plan paths against both noise and adversarial uncertainty.

Jacopo Banfi, Yizhou Zhang, G. Edward Suh, Andrew C. Myers, Mark Campbell

    POPL 2019
Abstraction-Safe Effect Handlers via Tunneling

Algebraic effects (and hence exceptions, asynchrony, ...) made modular

Yizhou Zhang, Andrew C. Myers

    OOPSLA 2017
Familia: Unifying Interfaces, Type Classes, and Family Polymorphism

A lot of polymorphism and extensibility in a lightweight package

Yizhou Zhang, Andrew C. Myers

    PLDI 2016
Accepting Blame for Safe Tunneled Exceptions

The flexibility of unchecked exceptions, the static guarantees of checked exceptions, and good performance too

Yizhou Zhang, Guido Salvaneschi, Quinn Beightol, Barbara Liskov, Andrew C. Myers

    PLDI 2015
Lightweight, Flexible Object-Oriented Generics

An expressive, lightweight genericity mechanism with better code reuse and stronger static checking

Yizhou Zhang, Matthew C. Loring, Guido Salvaneschi, Barbara Liskov, Andrew C. Myers

PhD Thesis
Designing Flexible, Modular Linguistic Abstractions

Recently Taught Courses

Winter 2025   CS 444/644 Compiler Construction
Spring 2024   CS 842 Probabilistic and Differentiable Languages
Winter 2024   CS 444/644 Compiler Construction
Spring 2023   CS 245 Logic and Computation

Other Activities
Program Committees, Review Committees: PLDI 2024, OOPSLA 2024, POPL 2024 SRC, POPL 2024, PLDI 2023, HOPE 2022, PLDI 2022, APLAS 2020.