Bernardo Toninho
Research Overview
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”).
See my research page for a (likely outdated) list of projects, or my publications page for a (usually up-to-date) list of papers.
Teaching
Concurrent Programming Languages (Fall 2022)
Introduction to Programming (Fall 2022)
Past courses are listed on my teaching page.
Activities
I was one of the organizers of the Programming Languages Mentoring Workshop (PLMW) at POPL 2019 and I was one of the judges of the Student Research Competition at SPLASH 2019.
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: