I'm particularly interested in the applications of Programming Languages research, especially Type Systems and Program Synthesis, and how these can be used to help programmers produce correct systems.
Recently I have also been working on applying Program Synthesis techniques to Circuit Design, with some promising initial results.
I recently completed my BSc (Hons) in Computer Science at the University of St Andrews, in Scotland.
For anything academic or departmental, email me at firstname.lastname@example.org.
For anything else, email me at email@example.com.
2014–2015: My Bachelor's Dissertation project was producing an Idris to Erlang compiler, and associated libraries for producing verified concurrent programs in Idris that would use Erlang VM features.
2014: I have just finished 15 months working at Basho, continuing to develop Data Types for Riak. My work on Data Types has been included in Riak 2.0, and there is pending work that should be in the next major release of Riak.
2014: My Colleagues and I co-authored an extended abstract about the new CRDT that supports composition, titled “Riak DT Map: a Composable, Convergent Replicated Dictionary” that we presented at PaPEC 2014 (a Workshop colocated with Eurosys 2014).
2013 (Autumn): For more details on the work I did on the Data Types team, see My talk at RICON West 2013 entitled “CRDTs: An Update (or just a PUT)”
2013 (Summer): I spent 3 months working at Basho on Data Type support for their datastore, Riak. This included designing a new CRDT that supported composition, and adding Garbage Collection to their existing CRDT implementations.
2012: I spent over two months working with the University of St Andrews and other institutions from the ParaPhrase project on this parallel skeleton library.
I helped co-author a paper titled “Cost-Directed Refactoring of Parallel Erlang Programs” which uses my Skeleton Library as the basis of its refactoring.