Publications

A Functional Correspondence between Top-down and Bottom-up Tree Algorithms: Fast and Correct Fully In-Place Functions with First-Class Constructor Contexts and Zippers
Anton Lorenzen, Daan Leijen, Wouter Swierstra and Sam Lindley. MSR Tech Report, MSR-TR-2023-28.
FP²: Fully in-Place Functional Programming
Anton Lorenzen, Daan Leijen and Wouter Swierstra. ICFP 2023.
Program logics for ledgers
Orestis Melkonian, Wouter Swierstra and James Chapman. Submitted.
Verified technology mapping in an Agda DSL for circuit design
Joao Paulo Pizani Flor and Wouter Swierstra. IFL '22.
Translation certification for smart contracts
Jacco Krijnen, Manuel Chakravarty, Gabriele Keller and Wouter Swierstra. Submitted to SCP, 2022.
Trends in Functional Programming
Wouter Swierstra and Nicolas Wu (editors). LNCS, volume 13401.
Calculating datastructures
Ralf Hinze and Wouter Swierstra. Mathematics of Program Construction, 2022.
A well-known representation of monoids and its application to the function 'vector reverse' (Functional Pearl)
Wouter Swierstra. JFP, vol. 32, 2022.
A completely unique account of enumeration
Cas van der Rest and Wouter Swierstra. ICFP 2022.
Translation certification for smart contracts
Jacco Krijnen, Manuel M.T. Chakravarty, Gabriele Keller and Wouter Swierstra. FLOPS 2022.
A correct-by-construction conversion to combinators (Functional Pearl)
Wouter Swierstra. Submitted to JFP.
Translation certification for smart contracts (Extended abstract)
Jacco Krijnen, Manuel M.T. Chakravarty, Gabriele Keller and Wouter Swierstra. TyDe 2021.
Algorithmics
Richard Bird‚ Jeremy Gibbons‚ Ralf Hinze‚ Peter Hoefner‚ Johan Jeuring‚ Lambert Meertens‚ Bernhard Moeller‚ Carroll Morgan‚ Tom Schrijvers‚ Wouter Swierstra and Nicolas Wu. IFIP AICT.
Combining predicate transformer semantics for effects: a case study in parsing regular languages
Anne Baanen and Wouter Swierstra. MSFP 2020.
Heterogeneous binary random-access lists (Functional Pearl)
Wouter Swierstra. Journal of Functional Programming, 2020, Vol. 30.
A Predicate Transformer Semantics for Effects
Wouter Swierstra and Anne Baanen. ICFP 2019.
An Efficient Algorithm for Type-Directed Structural Diffing
Victor Cacciari Miraldo and Wouter Swierstra. ICFP 2019.
A Research Agenda for Formal Methods in the Netherlands
Marieke Huisman, Wouter Swierstra and Eelco Visser (editors). Informal proceedings of a Lorentz Center Workshop.
Extended abstract: Generic Enumerators
Cas van der Rest, Wouter Swierstra and Manuel Chakravarty. TyDe 2019.
Extended abstract: Formal Investigation of the Extended UTxO Model
Orestis Melkonian, Wouter Swierstra and Manuel Chakravarty. TyDe 2019.
What Constitutes a Musical Pattern?
Orestis Melkonian, Iris Yuping Ren, Wouter Swierstra and Anja Volk. FARM 2019.
From algebra to abstract machine: a verified generic construction
Carlos Tomé Cortiñas and Wouter Swierstra. TyDe 2018.
Improving Error Messages for Dependent Types
Joseph Eremondi, Jurriaan Hage and Wouter Swierstra. Special issue of Open Computer Science on Type-error diagnosis.
Extended abstract: Improving Error Messages for Dependent Types
Joseph Eremondi, Jurriaan Hage and Wouter Swierstra. TyDe 2018.
Measuring the effectivity of structure-aware diffing
Giovanni Garufi, Victor Cacciari Miraldo and Wouter Swierstra. Submitted to PPDP 2018.
Feature analysis of repeated patterns in dutch folk songs using principal component analysis
Iris Yuping Ren, Hendrik Vincent Koops, Dimitrios Bountouridis, Anja Volk, Wouter Swierstra and Remco C. Veltkamp. FMA 2018.
Verified Timing Transformations in Synchronous Circuits with λπ -Ware
Joao Paulo Pizani Flor and Wouter Swierstra. ITP 2018.
Generic packet descriptions: verified parsing and pretty printing of low-level data
Marcell van Geest and Wouter Swierstra. Workshop on Type-driven Development (TyDe) 2017.
Type-Directed Diffing of Structured Data
Victor Cacciari Miraldo, Pierre Evariste Dagand, and Wouter Swierstra. Workshop on Type-driven Development (TyDe) 2017.
In search of the consensus among musical pattern discovery algorithms
Iris Yuping Ren, Hendrik Vincent Koops, Anja Volk and Wouter Swierstra. The International Society for Music Information Retrieval Conference 2017.
Editorial: Special issue on Programming with Dependent Types
Wouter Swierstra and Peter Dybjer (editors). Journal of Functional Programming.
Embedding the Refinement Calculus in Coq [source]
Joao Alpuim and Wouter Swierstra. Science of Computer Programming.
Structure-aware version control: A generic approach using Agda
Victor Cacciari Miraldo and Wouter Swierstra. Technical Report (UU-CS-2017-002).
Pi-Ware: Hardware Description and Verification in Agda [source]
Joao Paulo Pizani Flor, Wouter Swierstra, and Yorick Sijsling. TYPES 2015.
From proposition to program: embedding the refinement calculus in Coq
Wouter Swierstra and Joao Alpuim. FLOPS 2016.
Datatype generic programming in F#
Ernesto Rodriguez and Wouter Swierstra. Workshop on Generic Programming 2015.
The Utrecht Agda Compiler
Philipp Hausmann, Atze Dijkstra, and Wouter Swierstra. Accepted for presentation at TFP 2015.
Functional Programming in Swift
Chris Eidhof, Florian Kugler, and Wouter Swierstra. Objc.io.
Auto in Agda: programming proof search [source]
Wen Kokke and Wouter Swierstra. Mathematics of Program Contstruction 2015.
The Semantics of Version Control [source]
Wouter Swierstra and Andres Löh. Onward! 2014.
AMEN
Wouter Swierstra. Liber Americorum for Doaitse Swierstra.
Engineering Proof by Reflection in Agda
Paul van der Walt and Wouter Swierstra. IFL 2012.
Pure and Lazy Lambda Mining: An Experience Report
Nicolas Wu, José Pedro Magalhães, Jeroen Bransen, and Wouter Swierstra. IFL 2012.
Forty hours of declarative programming: Teaching Prolog at the Junior College Utrecht
Jurriën Stutterheim, Wouter Swierstra, and S. Doaitse Swierstra. Trends in Functional Programming in Education 2013.
Xmonad in Coq: Programming a window manager in a proof assistant
Wouter Swierstra. Haskell Symposium 2012.
A library for polymorphic dynamic typing [source]
Wouter Swierstra and Thomas van Noort. Journal of Functional Programming.
From Mathematics to Abstract Machine: A formal derivation of an executable Krivine machine [source] [bib]
Wouter Swierstra. MSFP 2012.
Logisch en Functioneel Programmeren voor Wiskunde D
Wouter Swierstra, Doaitse Swierstra, and Jurriën Stuttenheim. UU-CS Technical Report.
Embedding Polymorphic Dynamic Typing
Thomas van Noort, Wouter Swierstra, Peter Achten, and Rinus Plasmeijer. Workshop on Generic Programming 2011.
Sorted: Verifying the Problem of the Dutch National Flag in Type Theory [source]
Wouter Swierstra. Journal of Functional Programming.
More Dependent Types for Distributed Arrays
Wouter Swierstra. Journal of Higher-order and Symbolic Computation.
Chalk: a language and tool for architecture design and analysis
Wouter Swierstra, Koen Claessen, Carl Seger, Mary Sheeran, and Emily Shriver. Designing Correct Circuits 2010.
Attribute Grammars Fly First-Class: How to do Aspect Oriented Programming in Haskell [source]
Marcos Viera, S. Doaitse Swierstra, and Wouter Swierstra. ICFP 2009.
A Hoare Logic for the State Monad [source]
Wouter Swierstra. TPHOLS 2009.
High level architectural modelling for early estimation of power and performance
Koen Claessen, Carl Seger, Mary Sheeran, Emily Shriver, and Wouter Swierstra. Hardware and Functional Languages, 2009.
A Functional Specification of Effects
Wouter Swierstra. Thesis accepted for the degree of Doctor of Philosophy.
A tutorial implementation of a dependently-typed lambda calculus [source]
Andres Loeh, Conor McBride, and Wouter Swierstra. Fundamentae Informatica.
Dependent Types for Distributed Arrays [source]
Wouter Swierstra and Thorsten Altenkirch. Postproceedings of Trends in Functional Programming 2008.
The Power of Pi
Nicolas Oury and Wouter Swierstra. ICFP 2008.
Data types à la carte [source]
Wouter Swierstra. Journal of Functional Programming, (2008), 18: 423–436. Cambridge University Press.
Beauty in the Beast: A Functional Semantics for the Awkward Squad [source]
Wouter Swierstra and Thorsten Altenkirch. Haskell Workshop 2007.
Observational Equality, Now!
Thorsten Altenkirch, Conor McBride, and Wouter Swierstra. PLPV 2007.
A Principled Approach to Version Control
Andres Loeh, Wouter Swierstra, and Daan Leijen. Under revision.
Dependable Software Deployment
John DeTreville, Daan Leijen, and Wouter Swierstra. Unpublished.
Why Attribute Grammars Matter
Wouter Swierstra. The Monad.Reader, Issue 4.