I am an assistant professor in the Programming Languages Group at Delft University of Technology.

I do research on specifying and implementing programming languages. I am particularly interested in type safe languages, i.e., languages with type checkers that verifiably guarantee the absence of errors in programs. My research focuses on principles, techniques, and tools that enable language designers to effectively define and verify type safe languages, and to maintain language definitions as a language evolves.

News

Selected publications

Casper Bach Poulsen and Cas van der Rest: Hefty Algebras: Modular Elaboration of Higher-Order Algebraic Operations. POPL 2023

Cas van der Rest, Casper Bach Poulsen, Arjen Rouvoet, Peter Mosses, and Eelco Visser: Intrinsically-Typed Definitional Interpreters à la Carte. OOPSLA 2022

Birthe van den Berg, Casper Bach Poulsen, Tom Schrijvers, and Nicolas Wu: Latent Effects for Reusable Language Components. APLAS 2021

Arjen Rouvoet, Casper Bach Poulsen, Robbert Krebbers, and Eelco Visser: Intrinsically-Typed Definitional Interpreters for Linear, Session-Typed Languages. CPP 2020

Hendrik van Antwerpen, Casper Bach Poulsen, Arjen Rouvoet, and Eelco Visser: Scopes as Types. OOPSLA 2018

Sven Keidel, Casper Bach Poulsen, and Sebastian Erdweg: Compositional Soundness Proofs of Abstract Interpreters. ICFP 2018

Casper Bach Poulsen, Arjen Rouvoet, Andrew Tolmach, Robbert Krebbers, and Eelco Visser: Intrinsically-Typed Definitional Interpreters for Imperative Languages. POPL 2018

Casper Bach Poulsen, Pierre Neron, Andrew Tolmach, and Eelco Visser: Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics. ECOOP 2016

Casper Bach Poulsen and Peter D. Mosses: Deriving Pretty-Big-Step Semantics from Small-Step Semantics. ESOP 2014

Blog