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.

Peer-Reviewed Publications
Handling Bidirectional Control Flow

A type system keeps “effectful effects” under control

Yizhou Zhang, Guido Salvaneschi, and Andrew C. Myers

Path Planning under Malicious Injections and Removals of Perceived Obstacles: a Probabilistic Programming Approach

Robots plan paths with both noise and adversarial uncertainty

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

Abstraction-Safe Effect Handlers via Tunneling

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

Yizhou Zhang and Andrew C. Myers

Familia: Unifying Interfaces, Type Classes, and Family Polymorphism

A lot of polymorphism and extensibility in a lightweight package

Yizhou Zhang and Andrew C. Myers

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

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

Ph.D. Thesis, Cornell University, 2019
Designing Flexible, Modular Linguistic Abstractions