Research Interests

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. [ URA | CS 499T | MMath and PhD ]

Peer-Reviewed Publications
    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