Modelverse Just-in-Time Compiler
I created a tiered just-in-time (JIT) compiler for the Modelverse!
It is 37 times faster than the previous Modelverse VM.
I created a tiered just-in-time (JIT) compiler for the Modelverse!
It is 37 times faster than the previous Modelverse VM.
I created an arbitrary object serializer for JavaScript.
Part of my internship at Nokia Bell Labs.
I created the first GPU garbage collector for the Julia language!
Foresight is a parallel, extensible equality saturation library in Scala, featuring programmable saturation strategies, generalized metadata, and deferred parallel rewriting.
An optimizing compiler for managed code.
A spellbook for D&D.
An online simulated democracy.
Published in Proceedings of the 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection, co-located with SPLASH, 2019
Arbitrary object serialization for JavaScript
Download here
Published in Proceedings of the 22nd ACM/IEEE International Symposium on Code Generation and Optimization (CGO), 2024
An idiom recognition approach rooted in equality saturation
Download here
Published in Proceedings of the 35th ACM SIGPLAN International Conference on Compiler Construction (CC), 2026
A parallel, extensible equality saturation engine with programmable strategies and generalized metadata
Download here
Published in Proceedings of the 24nd ACM/IEEE International Symposium on Code Generation and Optimization (CGO), 2026
An automated approach to hardware resource allocation and sharing using equality saturation and algorithmic skeletons
Download here
Published:
I presented my paper on JavaScript function serialization at the META 2019 workshop, co-located with SPLASH.
Published:
I gave an early talk on program specialization at the 19th Workshop on Compiler-Driven Performance (CDP 2022), co-located with the 32nd International Conference on Collaborative Advances in Software and Computing (CASCON). This work planted the seeds of what would later become my Latent Idiom Recognition (LIAR) paper.
Published:
I presented my paper on latent idiom recognition at CGO 2024. The slide deck for this presentatation is available as PPTX and as PDF.
Published:
I presented my work on a resource-sharing and automatic partitioning project at CDP 2024, co-located with the 34th International Conference on Collaborative Advances in Software and Computing (CASCON). My project spans the intersection of High-Level Synthesis (HLS) and equality saturation.
Teaching Assistant, University of Antwerp, Department of Computer Science, 2015
Professor Els Laenens hired me to create exercises and exam questions for the University of Antwerp’s course on regular languages and finite automata. These exercises and exam questions were mostly related to mechanical applications of algorithms that students would have to perform by hand. To ensure that the exercises would be appropriately challenging, I wrote a computer program that generated regular languages/finite automata. The exercise generator automatically assessed how much effort it would take to apply the algorithms specified by the exercises.
Teaching Assistant, University of Antwerp, Department of Computer Science, 2016
Professor Jan Broeckhove hired me to write course material and create example programs for the University of Antwerp’s course on advanced C++ programming.
Teaching Assistant, McGill University, School of Computer Science, 2020
I have served as a Teaching Assistant for COMP 303 Software Design at McGill University across multiple terms (Fall 2020 and Fall 2021).
Teaching Assistant, McGill University, Department of Electrical and Computer Engineering, 2020
I have served as a Teaching Assistant for ECSE 324 Computer Organization at McGill University across multiple terms (Fall 2020, Fall 2022, and Fall 2023).
Teaching Assistant, McGill University, School of Computer Science, 2021
I served as a Teaching Assistant for COMP 520 Compiler Design at McGill University across multiple terms (Winter 2021, Winter 2022, Winter 2024, and Winter 2026).
Teaching Assistant, McGill University, School of Computer Science, 2024
I have served as a Teaching Assistant for COMP 302 Programming Languages and Paradigms at McGill University across multiple terms (Fall 2024 and Fall 2025).
Teaching Assistant, McGill University, School of Computer Science, 2025
I was a TA for COMP 250 Introduction to Computer Science at McGill University. COMP 250 is a foundational course introducing students to programming, algorithms, and data structures in Java. It is a large, highly structured course that emphasizes both conceptual understanding and practical problem-solving.