My core research role is to investigate how we can leverage state-of-the-art advances in programming language theory to build more trustworth systems. Current and past work has seen me look at bettering hardware design languages with resource-dependent typing to reason better about how circuits and modules are wired. I am now starting to shift my investigation to see how we can design better type-systems for high-level languages that take advantage of CHERI capabilities. Generally speaking, my other research interests are: type-driven development of trustworthy systems using dependent-types & session-types; and how to best teach state-of-the-art advances in programming language theory.
At Glasgow, I am a member of the Glasgow Parallelism Group (GPG) as part of the Glasgow Systems Section (GLASS). I maintain strong links with the Formal Methods Research Group in Formal Analysis, Theory & Algorithms (FATA) Section through membership of the Programming Languages (PL) Theme. Further, I am part of the wider Scottish Programming Languages Institute that offers a framework to better the interaction of programming language researchers across Scotland.
Before I came to Glasgow I was a Research Fellow (and Teaching Fellow) at the School of Computer Science, University of St Andrews. I completed both my PhD and undergraduate degrees at the at the University of St Andrews, and in between these degrees I was a Master student (as part of the now defunct Kerckhoffs Institute) at the Institute for Information & Computer Science, Radboud Universiteit Nijmegen in the Netherlands.
Follow the Trail! Visualising Bi-Directional Type-Checking as Network Communication.
June 8, 2022
Being Positively Negative.
June 2, 2022
Wiring Circuits is as easy as 0-1-Omega, or is it...
May 31, 2022
Types as Interpreters for HDLs to Graphs.
May 25, 2022
Thoughts on API Design for Dependently-Typed Languages
November 29, 2021
There are more posts in the archives.