Hi! I am a DPhil (PhD) student in the Department of Computer Science at the University of Oxford where I study programming languages. I am interested in semantics, and especially in how we can use semantics to describe the costs of the programs that we write. I have abiding interests in parallelism and concurrency, and am working on how we can use semantic descriptions of cost to better profile, optimize, and prove the correctness of parallel, concurrent, and distributed programs. I am in general interested in exploring ways that category theory can be useful as a way to think about computation, semantics, and in general, about programming languages.
I was previously an undergraduate student at Indiana University Bloomington where I studied computer science and mathematics, and specialized in programming languages on a Wells Scholarship . While I was at Indiana, I was a member of the programming languages group ( "PL Wonks" ) where I worked with Ryan Newton.
In case you're interested, here is my CV
I am interested in programming language theory, applied logic, and the parts of mathematics not involving numbers. On the more applied side, I am interested in compilers (and compiler implementation), runtimes, operating systems, and embedded systems.
Since the summer of 2015, I have been working with a number of people on a way to gradualize the proof obligations that GADTs require of programmers called Ghostbuster. The tool allows programmers to easily convert back and forth between GADTs and ADTs (or even less specified GADTs).
Over the summers of 2013 and 2014, I interned with the Chapel Compiler group at Cray Inc. where I worked on adding "Big Data" type constructs to the language. I have mainly worked on making a seamless interface between distributed file systems and Chapel.
In the spring of my junior year, I worked with Ken Shan and Rob Zinkov on adding Hamiltonian Monte Carlo to the Stochastic Lambda Calculus.
I have also worked with Chris Zakian and Ryan Newton on adding concurrency primitives, and workstealing coroutines to the CilkPlus runtime.