About

I am an universitair hoofddocent (roughly equivalent to associate professor) in the Software Technology Group of Utrecht University.

Brief bio

After studying Mathematics and Computer Science at the Utrecht University, I did my PhD under supervision of Thorsten Altenkirch at the University of Nottingham's Functional Programming Lab. I worked as a postdoc at Chalmers University of Technology, before moving back to the Netherlands to work at Vector Fabrics, a high-tech startup that used functional programming to facilitate the design of embedded systems. In 2011 I returned to academia as a postdoc in Foundations Group at the Radboud University. After Nijmegen, I moved to Utrecht on another postdoc position before becoming universitair docent (assistant professor) in 2013. In Utrecht I have served in a variety of senior roles within the department, including Programme Leader of our BSc and MSc Computing Science programmes.

I am honoured to serve as Functional Pearl Editor for the Journal of Functional Programming. If you're considering submitting a pearl, you may want to read this advice.

And in case your wondering, here's how to pronounce my name.

Recent publications

A Lightweight Approach to Formal Algorithmic Complexity (Functional Pearl)
Wouter Swierstra. Submitted.
On laziness and inequality (Functional Pearl)
Wouter Swierstra. Submitted to JFP.
Programs and Proofs in Practice: A Grounded Theory on How People Use Dependently Typed Interactive Theorem Provers
Ruben Backx, Sára Juhošová, Wouter Swierstra and Jesper Cockx. Submitted.
PLEX: Normalization for Refinement Types
Alessio Ferrarini, Niki Vazou and Wouter Swierstra. OOPSLA 2026.
Hole Refinements for Polymorphic Type-and-Example Driven Synthesis
Niek Mulleners, Johan Jeuring and Wouter Swierstra. PEPM 2026.
A Layered Certifying Compiler Architecture  [bib]
Jacco O.G. Krijnen, Wouter Swierstra, Manuel Chakravarty, Joris Dral, and Gabriele Keller. FUNARCH 2025.
More publications...

Recent talks

Programming with dependent types: beyond evaluating the simply typed lambda calculus
IFL invited talk. Nijmegen, the Netherlands.
The functional essence of imperative binary search trees
IFIP WG 2.8. Utrecht, the Netherlands.
A correct by construction conversion to combinators
IFIP WG 2.8. Utrecht, the Netherlands.
The functional essence of imperative binary search trees
IFIP WG 2.1. Neustadt an der Weinstraße, Germany.
A well-known representation of monoids and its application to the function “vector reverse”
ICFP. Remote presentation.
More talks...