Research Activities
Our researchers publish and participate in top-tier venues for programming languages, type systems, compilers, and software engineering.
Published work and manuscripts.
JFLA 2024
Destination-passing style programming: a Haskell implementation
A Haskell implementation of destination-passing style programming for caller-controlled memory management.
ITP 2023
No Unification Variable Left Behind: Fully Grounding Type Inference for the HDM System
A mechanically verified account of fully grounding type inference for the Hindley-Damas-Milner system.
ICFP 2022
Beyond Relooper: Recursive Translation of Unstructured Control Flow to Structured Control Flow
A recursive single-pass translation from arbitrary compiler control flow to structured control flow.
Conditionally accepted at POPL 2022
Provably Correct, Asymptotically Efficient, Higher-Order Reverse-Mode Automatic Differentiation
A simple implementation of reverse-mode automatic differentiation for higher-order functions with linear runtime and memory use.
Dynamic Language Symposium 2021
Union and intersection contracts are hard, actually
A survey and explanation of the tradeoffs behind higher-order contracts with union and intersection types.
Haskell Symposium 2021
Seeking Stability by being Lazy and Shallow: Lazy and shallow instantiation is user friendly
An analysis of polymorphic instantiation approaches in GHC/Haskell through the lens of program stability.
ICFP 2021 (Distinguished Paper)
An Existential Crisis Resolved: Type inference for first-class existential types
A bidirectional type-inference algorithm for introducing and eliminating first-class existential types.
POPL 2020
Partial Type Constructors; Or, Making ad hoc datatypes less ad hoc
A language design and formal theory for partial type constructors using qualified types.
Haskell Symposium 2020
Composing Effects into Tasks and Workflows
An effect-handler and arrow-inspired design for modular data-science workflows.
Haskell Symposium 2020
Stitch: The Sound Type-Indexed Type Checker, a Functional Pearl
A modern Haskell interpreter and type checker that demonstrates practical use of advanced type-indexed techniques.
ICFP 2020
Kinds are Calling Conventions
An intermediate language that encodes calling-convention information in kinds for efficient static compilation.
POPL 2020 (Distinguished Paper)
Kind Inference for Datatypes
Declarative and algorithmic specifications for principled kind inference of datatype declarations.