I am a PhD student at the Programming Languages group at Delft University of Technology. My research focuses on specification of static semantics. In particular, developing constraint approaches to type checking that support rich name binding patterns. My work is implemented as part of the Spoofax Language Workbench. I am being supervised by Prof. Dr. Eelco Visser.

If you want to know more about my research, have a look at my talks and publications, or contact me (details at the bottom of this page).

Recent Publications

  • Antwerpen, Hendrik van, and Eelco Visser. 2021. “Scope States: Guarding Safety of Name Resolution in Parallel Type Checkers.” In ECOOP. pdf details
  • Mensing, Adrian D., Hendrik van Antwerpen, Casper Bach Poulsen, and Eelco Visser. 2019. “From Definitional Interpreter to Symbolic Executor.” In OOPSLA, 11–20. https://doi.org/10.1145/3358502.3361269. doi details
  • Pelsmaeker, Daniël A. A., Hendrik van Antwerpen, and Eelco Visser. 2019. “Towards Language-Parametric Semantic Editor Services Based on Declarative Type System Specifications.” In OOPSLA, 19–20. https://doi.org/10.1145/3359061.3362782. doi details
  • ———. 2019. “Towards Language-Parametric Semantic Editor Services Based on Declarative Type System Specifications (Brave New Idea Paper).” In ECOOP. https://doi.org/10.4230/LIPIcs.ECOOP.2019.26. doi details
  • Antwerpen, Hendrik van, Casper Bach Poulsen, Arjen Rouvoet, and Eelco Visser. 2018. “Scopes as Types.” PACMPL 2 (OOPSLA). https://doi.org/10.1145/3276484. doi details
  • Antwerpen, Hendrik van. 2016. “A Constraint-Based Approach to Name Binding and Type Checking Using Scope Graphs.” Master's thesis, Delft University of Technology. http://resolver.tudelft.nl/uuid:7a555c92-ee75-4e64-b58b-d8f09662f412. pdf details
  • Antwerpen, Hendrik van, Pierre Néron, Andrew P. Tolmach, Eelco Visser, and Guido Wachsmuth. 2016. “A Constraint Language for Static Semantic Analysis Based on Scope Graphs.” In PEPM, 49–60. https://doi.org/10.1145/2847538.2847543. doi details

Research Projects

My PhD research focused on different operational interpretations of declarative type system specifications. We developed Statix, a meta-language for specification of type systems, with strong support for name binding. I was involved in the following projects around Statix:

  • Defining an operational semantics for Statix so specifications can be used as executable type checkers, by interpreting the typing rules as constraint simplification rules. With Arjen Rouvoet and Casper Bach Poulsen.
  • Combining Statix specifications with constraint programming techniques to define IDE editor services such as code completion. With Daniel Pelsmaeker.
  • Random generation of well-bound and well-typed programs for testing for testing (e.g., of interpreters). With John Hughes.
  • Developing incremental type checkers for Statix. With Aron Zwaan.


  • Teaching for compiler construction in 2017 and 2018. Lectured on type systems and typing constraints, developed homework exercises, exam questions, and was a teaching assistant for the accompanying lab.
  • Supervision of students working on bachelor and master theses related to my research.

Professional Activities

  • Student volunteering for POPL 2016, OOPSLA 2017, and OOPSLA 2018.