Affiliation: Faculdade de Ciências e Tecnologia, UNL
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 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”).