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.
Aug 2021: Our APLAS’21 submission on Latent Effects has been accepted!
Jul 2021: Published an old blog post about compiling with command trees.
Feb 2021: I will be a PC member for DLS 2021.
Jan 2021: Gave talk at PEPM’21 about short paper titled Staged Effects and Handlers for Modular Languages with Abstraction; talk available here
Jan 2020: Co-chaired PEPM’20 in New Orleans
Dec 2019: Hired PhD student Cas van der Rest to work with me on type safe language composition!
Oct 2019: Attending SPLASH’19
Sep 2019: New paper From Definitional Interpreter to Symbolic Executor, with Adrian Mensing, Hendrik van Antwerpen, and Eelco Visser to be presented and appear in the proceedings of META’19
Jul 2019: I have been awarded a Veni grant on Composable and Safe-by-Construction Programming Language Definitions!
Birthe van den Berg, Casper Bach Poulsen, Tom Schrijvers, 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
Adrian D. Mensing, Hendrik van Antwerpen, Casper Bach Poulsen, and Eelco Visser: From Definitional Interpreter to Symbolic Executor. META 2019
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: Flag-Based Big-Step Semantics. Special Issue of Journal of Logic and Algebraic Methods in Programming
Casper Bach Poulsen and Peter D. Mosses: Deriving Pretty-Big-Step Semantics from Small-Step Semantics. ESOP 2014
- Compiling with Op Trees — 2020-08-01
- Interpreters with Non-Determinism Using a Free Monad — 2019-04-28