Honors Program Project: Modelverse JIT 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!
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, 2024
An idiom recognition approach rooted in equality saturation
Download here
Published:
I presented my paper on JavaScript function serialization at the META 2019 workshop, co-located with SPLASH.
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 was a TA for the COMP 303 Software Design course at McGill. My main responsibilities were to both aid and grade groups of students that worked collaboratively on a set of design challenges.
Teaching Assistant, McGill University, Department of Electrical and Computer Engineering, 2020
I designed and presided over ARMv7 assembly programming labs for the ECSE 324 Computer Organization course at McGill. I also ran demo sessions where I graded students based on their understanding of their work.
Teaching Assistant, McGill University, School of Computer Science, 2021
During the Winter 2021 term, I TAed for the first time for COMP 520 Software Design. COMP 520 at McGill evaluated students entirely based on their coursework, which consisted of a sequence of assignments that eventually result in a complete compiler for a subset of the C programming language.
Teaching Assistant, McGill University, School of Computer Science, 2021
I again TAed for COMP 303 Software Design during the Fall 2021 term. My main responsibilities were to aid and grade groups of students that worked collaboratively on a set of design challenges.
Teaching Assistant, McGill University, School of Computer Science, 2022
During the Winter 2022 term, I again TAed for COMP 520 Compiler Design. My responsibilities were similar to my previous appointment to COMP 520.
Teaching Assistant, McGill University, Department of Electrical and Computer Engineering, 2022
During the Fall 2022 semester, I returned as a TA for ECSE 324 Computer Organization. My responsibilities were similar to the ones I had two years prior: I designed and taught labs and tutorials. I also presided over demo sessions where students presented their work and were graded based on that work.
Teaching Assistant, McGill University, Department of Electrical and Computer Engineering, 2023
I again TAed for ECSE 324 Computer Organization during the Fall 2023 term.
Teaching Assistant, McGill University, School of Computer Science, 2024
During the Winter 2024 term, I again TAed for COMP 520 Compiler Design. My responsibilities were similar to my previous appointment to COMP 520.
Teaching Assistant, McGill University, School of Computer Science, 2024
I was a TA for COMP 302 Programming Languages and Paradigms at McGill. COMP 302 is a functional programming course with an emphasis on OCaml programming.