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
Sep 2023: Co-authored paper with Cas van der Rest on Types and Semantics for Extensible Data Types accepted for publication and presentation at APLAS’23
Sep 2023: Co-authored paper with Aron Zwaan and Paul Hübner on A Monadic Framework for Name Resolution in Multi-Phased Type Checkers accepted for publication and presentation at GPCE’23
Sep 2023: Teaching Compiler Construction together with Soham Chakraborty
Aug 2023: I will be on the PC of OOPSLA’24!
Jun 2023: Co-authored paper with Luka Miljak and Flip Spaendonck on Verifying Well-Typedness Preservation of Refactorings using Scope Graphs accepted for publication and presentation at FTfJP’23
Mar 2023: I will be on the PC of POPL’24!
Jan 2023: Attended and presented on Hefty Algebras at POPL’23.
Nov 2022: Co-authored paper with Cas van der Rest on Hefty Algebras: Modular Elaboration of Higher-Order Algebraic Operations accepted for publication and presentation at POPL’23!
Sep 2022: Co-authored paper with Cas van der Rest et al. on Intrinsically-Typed Definitional Interpreters à la Carte accepted for publication and presentation at OOPSLA’22!
Oct 2022: I am a PC member of PEPM’23
Sep 2022: Teaching Compiler Construction
Aug 2022: Moved offices. The PL group is now on the third floor of Van Mourik Broekmanweg 6.
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
- Algebras of Higher-Order Effects in Haskell — 2023-08-15
- Encoding Higher-Order Effects in Haskell — 2023-08-01
- Algebraic Effects and Handlers in Haskell — 2023-07-30
- Compiling with Op Trees — 2020-08-01