Summary of Skills

Programming Experience

  • Haskell, Agda(expert)
  • C++(fluent)
  • C#, JavaScript, Lua, PHP, Python, Scala(working proficiency)

Work Experience

Manifold Valley » Lead Compiler Engineer (Haskell)April 2023 → ongoing

  • Rearchitected a failed 4-year compiler effort by migrating to a lesser-known core calculus; replaced the entire language foundation, unblocking system-wide progress
  • Asymptotically improved compiler performance from unscalable to linear; reduced compile times from hours to seconds and GHC build times by 93%
  • Built the core ML training infrastructure---used as the foundation for all models trained at the company
  • Guided the Python team through implementing the new runtime, including a fully-trampolined CPS transformation to eliminate stack overflows
  • Introduced modern engineering practices: testing, code review, Git discipline; migrated 4 fragmented repos into a monorepo to support cohesive development
  • Rewrote or replaced ~240k lines of code (~18% of the codebase), modernizing the compiler and runtime stack

Wire » Consultant (Haskell)October 2021 → April 2023

  • Built a GHC plugin to track and reify federated service calls at the type-level.
  • Designed a property-testing framework for verifying the correctness of higher-order algebraic effects.

Self-Employed » Author of Software TextbooksMarch 2018 → November 2023

  • Wrote three books on advanced programming techniques and high-quality software engineering.

Formation/Takt » Senior Software Engineer (Haskell)September 2016 → January 2018

  • Increased new feature cadence by 30x after becoming lead of a four-person engineering team.
  • Directed a team of three to implement a high-throughput, low-latency brokered streaming library.

Google » Software Engineer III (C++)September 2015 → September 2016

  • Led the architectural design of a user-defined permission model for the cloud.
  • Improved compile times by 96% and test coverage by 65% for a service-critical internal compiler.

Meta/Facebook » Software Engineer Intern (C++)January → April 2014

  • Increased revenue by 0.5% after analyzing the advertising platform's spending behaviors.
  • Improved site-wide response time by 0.4% by parallelizing the backend graph ranker.

Notable Open Source

Cornelis2022 → 2024

github.com/isovector/cornelis
  • Integrated Neovim tightly with the Agda compiler, allowing for interactive proof assistance.

ImplicitCAD2020 → 2021

github.com/Haskell-Things/ImplicitCAD
  • Improved performance of single-core mesh rendering by ~2x.
  • Reduced code duplication by 50% by reorganizing types to be shared between 2D and 3D.

Wingman for Haskell2020 → 2023

github.com/haskell/haskell-language-server
  • Developed an interactive tactic engine for Haskell, capable of robust, type-aware code synthesis.
  • Provided in-editor support for automatic pattern splitting.

Polysemy2019 → 2023

github.com/polysemy-research/polysemy
  • Discovered a convenient encoding of an effect system based on higher-order free monads via simultaneous co-Yoneda and codensity transformations.
  • Implemented a GHC plugin to support ad-hoc functional dependencies when working with Polysemy; dramatically improving the developer experience.

Publications

Certainty by ConstructionNovember 2023

leanpub.com/certainty-by-construction
  • An exploration of topics from mathematics and computer science, entirely in literate Agda.

Algebra-Driven DesignSeptember 2020

leanpub.com/algebra-driven-design
  • A series of worked examples on designing and efficiently implementing combinator libraries.
  • Algebra-Driven Design is now the basis of a course taught at OST Zurich.

Thinking with TypesOctober 2018

thinkingwithtypes.com
  • A how-to manual on using (and not misusing) Haskell's more advanced type-level features.

Formal Education

Bachelor of Software Engineering2010 → 2015

University of Waterloo, Waterloo, ON

Miscellany

Interests

model checking, proof assistants, music, functional programming, compilers, robotics, electronics, math pedagogy