I am a research scientist for DeepMind in London, UK. Before joining DeepMind, I was a researcher in the Programming Principles and Tools Group at Microsoft Research Cambridge, UK.
My work revolves around programming languages design and implementation, as well as the use of techniques from programming languages in other domains. I've worked on: design and implementation of programming languages, domain-specific languages, type systems and constraint solving (notably in the context of Haskell and the Glasgow Haskell Compiler), functional programming, static analyses and formal verification, use of symbolic techniques in problems in systems and machine learning, memory management and garbage collection; and compilation for high-performance signal processing applications and for AI accelerators.
In DeepMind I am thinking about:
I am looking for brilliant PhD students working on programming languages and compilers to join me and the DeepMind Performance team for research internships.
If you are a researcher in programming languages aspiring to join our team in London to work in the intersection of PL and ML feel free to reach out and check out our careers page.
PartIR: declarative abstractions for tensor program partitioning with collaborators in DeepMind and Google. Invited talk at PPDP'20.
Our short note on The Differentiable Curry with Martin Abadi, Gordon Plotkin, Richard Wei, and Dan Belov will be presented at the NeurIPS 2019 workshop on Program Transformations for Machine Learning
Our paper Efficient Differentiable Programming in a Functional Array-Processing Language with Amir Shaikhha, Andrew Fitzgibbon, Simon Peyton Jones, and Christoph Koch is conditionally accepted in ICFP 2019. Work done while still at MSR.