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. Currently, I am the Programme Director of our Informatica BSc.

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

Programs and Proofs in Practice: A Grounded Theory on How People Use Dependently Typed Interactive Theorem Provers  [bib]
Ruben Backx, Sára Juhošová, Wouter Swierstra and Jesper Cockx. TyDe 2026.
The cost of everything: a lightweight approach to formal algorithmic complexity (Functional Pearl)
Wouter Swierstra. Submitted to JFP.
On greediness and inequality (Functional Pearl)
Wouter Swierstra. Submitted to JFP.
PLEX: Normalization for Refinement Types  [bib]
Alessio Ferrarini, Niki Vazou and Wouter Swierstra. OOPSLA 2026.
Hole Refinements for Polymorphic Type-and-Example Driven Synthesis  [bib]
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

Cost analysis & first-order laziness
IFI WG 2.1. Vihula manor, Estonia.
On the Correctness of Barron and Strachey’s Cartesian Product Function
Trends in Functional Programming. Oxford, United Kingdom.
The functional essence of imperative binary search trees
PLNL. Amsterdam, the Netherlands.
Correct by construction conversion to combinators
ICFP - JFP track. Milan, Italy.
Programming with dependent types: beyond evaluating the simply typed lambda calculus
IFL invited talk. Nijmegen, the Netherlands.
More talks...