I design and implement programming languages. I aim for language abstractions with rich expressive power, strong guarantees, and efficient implementations. I welcome broad-minded, technically strong students to work with me on fun ideas about programming languages [ URA, URF | MMath, PhD | Postdoc ].

Graduate Students

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

Peer-Reviewed Publications
    PLDI 2024
Compiling Probabilistic Programs for Variable Elimination with Information Flow

Jianlin Li, Eric Wang, Yizhou Zhang

    OOPSLA 2024
Persimmon: Nested Family Polymorphism with Extensible Variant Types

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

    PLDI 2023
Extensible Metatheory Mechanization via Family Polymorphism

An object-oriented idea leads to a functional language design for engineering extensible 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 express 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

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