I design, implement, and study programming languages. I aim for high-level language abstractions that can provide the expressiveness and assurance required to build extensible, reliable software.

I welcome broad-minded, technically strong students at all levels to work with me on fun PL research projects. [ 499T, URA, URF | MMath and PhD ]

Teaching
Graduate Students

Jianlin Li (PhD)
Ende Jin (MMath)
Cong Ma (PhD)

Peer-Reviewed Publications
    POPL 2023
Type-Preserving, Dependence-Aware Guide Generation for Sound, Effective Amortized Probabilistic Inference

Jianlin Li, Leni Ven, Pengyuan Shi, and Yizhou Zhang

    POPL 2022
Reasoning about “Reasoning about Reasoning”:
Semantics and Contextual Equivalence for Probabilistic Programs with Nested Queries and Recursion

Probabilistic programs expressing rational agents can be reasoned about equationally.

Yizhou Zhang and Nada Amin

    OOPSLA 2020
Handling Bidirectional Control Flow

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

Yizhou Zhang, Guido Salvaneschi, and 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, and Mark Campbell

    POPL 2019
Abstraction-Safe Effect Handlers via Tunneling

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

Yizhou Zhang and 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 and 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, and 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, and Andrew C. Myers

PhD Thesis
Designing Flexible, Modular Linguistic Abstractions