Hi!

I'm Tom Smeding. I love programming, playing the piano, thinking about languages (both natural and programming), and occasionally mathematics.
I'm a PhD candidate in computer science at Utrecht University in the Netherlands.

You can reach me via email [first name at firstnamelastname dot com], as well as on IRC, Telegram, LinkedIn or Facebook. You can find me on Google Scholar and ORCiD.

I have code on Github and my own server.

I've also written some notes at some point.

For a list of my academic publications, click here.

My research

Currently my primary research interest is in automatic differentiation (AD), as seen through the lens of functional programming (FP), in my case mostly using the programming language Haskell. My PhD supervisors are Gabriele Keller and Matthijs Vákár.

In general I am enthusiastic about lots of things in computer science; I enjoy functional programming and thinking about programming techniques that make FP work well, but I also have some experience in more low-level programming (in C and C++), some of it in competitive programming. I like thinking about how to optimise code to make it run faster, and also about devising compiler optimisations to make other people's code run faster. Furthermore, I like being able to do all of those things while enabling the compiler to prevent me from making mistakes as much as possible; typically, I do this by using the type system of the programming language I'm working in.

Also send me your favourite esolangs :)