My research broadly focuses on the application of language-based techniques to the development of more robust and safer systems, with a non-exclusive emphasis on concurrent and distributed systems. In these settings, I develop and apply techniques grounded on (substructural) type theory, such as those based on Linear Logic and Session Types. I am also interested in using type and logic-based techniques to verify programs in real languages such as Go, Rust and Haskell.
I have been and continue to be heavily involved with the development and exploration of the logical foundations of Session Types.
Recently, I have been involved in research on the addition of generics to the Go programming language and how to effectively compile generics in a language with the design constraints of Go. I am also a co-developer of Refinement Kinds, a new framework for type-based meta-programming arising from the lifting of the concept of refinement types to the level of kinds (the “types of types”).
Concurrent Programming Languages (Fall 2022)
Introduction to Programming (Fall 2022)
Past courses are listed on my teaching page.
I am serving / have served on the program committees for:
- OOPSLA 2023
- LFMTP 2022
- ICFP 2022
- ESOP 2022 (Distinguished Reviewer Award)
- CONCUR 2021
- RADICAL 2019
- PPDP 2017
- LFMTP 2016
- PLACES 2016
- ICE 2015
- ICE 2014
Elsewhere on the Web
Here are my profiles at some sites I actively use: