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.
Jianlin Li (PhD)
Ende Jin (MMath)
Cong Ma (PhD)
Probabilistic programs expressing rational agents can be reasoned about equationally.
Handlers for “effectful effects”? Yes, with a type system to defend abstractions.
Robots plan paths against both noise and adversarial uncertainty.
Algebraic effects (and hence exceptions, asynchrony, ...) made modular
A lot of polymorphism and extensibility in a lightweight package
The flexibility of unchecked exceptions, the static guarantees of checked exceptions, and good performance too
An expressive, lightweight genericity mechanism with better code reuse and stronger static checking