A selection of software and research projects, mostly from my time as a PhD student at Tufts and the years immediately following. The common thread is systems software: memory management, language tooling, and runtime behavior.
Floorplan
A domain-specific language for specifying the spatial memory layout properties of garbage collectors. Published at GPCE 2019. The key idea: GC bugs often arise from violated layout invariants that conventional type systems can't express. Floorplan makes those invariants first-class and checkable.
Permchecker
A runtime analysis tool for detecting memory safety errors in garbage collectors using typestate and permission types on the JVM. Developed as part of my dissertation work and presented as a standalone talk in 2021.
Talk (February 2021) — PhD defense (July 2021)
ANTLR-Haskell
A deeply-embedded quasiquoter for defining language grammars in Haskell using ANTLR's G4 syntax. The goal was to bring industry-standard parser infrastructure into the Haskell ecosystem, generating parsers directly from a grammar specification without leaving the language.
PADS-Haskell
An extension of the PADS data description language to support binary and cyclic data structures. PADS generates parsers and printers automatically from a declarative format specification — useful for binary protocols and legacy formats that predate modern serialization libraries.