Outside of algebraic geometry, my main passion is programming, where I do most of my work in Haskell. Dating back to 2006, I’ve been interested in finding ways in which the advanced types in Haskell can be used to improve the quality of low-level software, particularly at the level of operating system kernels.
My first go at this was the Kinetic operating system project, which was based on embedding the GHC runtime system into an operating system kernel (an approach demonstrated earlier by HoP and House). This proved unwieldy, and I’ve since abandoned this style of thinking.
I’m currently interested in the emergence of embedded domain specific languages in Haskell as a way of using Haskell’s powerful types to solve problems where, previously, people would have used poorly-typed libraries in other languages. My main project in this area is Potential, a type-safe embedding of x86-64 assembly into Haskell.