Modular Dynamic Semantics Specification and Compilation

Jaro Reinders

Date: Thu, January 26, 2023
Time: 13:00
Room: Echo Arena
Note: This is a PhD Go/No-Go meeting

Programming Language design is still a rapidly evolving field. There are recent developments in type systems, parallel computing, memory management, etc. However, experimenting with new designs or designing small languages for specific purposes is costly because it requires building a new compiler which currently has few opportunities for reuse.

The aim of my PhD is to develop a methodology for specifying the dynamic semantics of programming languages using high-level abstractions in a modular and verifiable manner.

Together with Cas and Casper, in my first year I have worked on a new effect system which has better support for higher-order effects than existing effect systems to form the basis of my compiler research. After Casper and Cas worked out a suitable formulation of the effect system, I have used it to implement a very simple compiler for my first workshop paper at the EVCS.

In the next three years, I hope to expand this simple compiler into two larger compilers which share a common basis, show that it is possible to reason formally about compilers written this way, and finally investigate advanced program analysis techniques such as symbolic execution and abstract interpretation.

Previous: Jurgen Vinju |
Next: Lucas |