Compiler engineer + PL researcher
Hello! I’m a software engineer and programming languages researcher based in Corvallis, Oregon, USA.
My expertise spans all phases of programming language design, specification, and implementation, including domain-specific languages, type systems, compilers, functional programming, software variation, modularity, and human factors.
I recently joined Elemental Cognition where I’m working on the compiler for Cogent. Cogent is an end-user language and environment for capturing expert knowledge for use in trustable, explainable, interactive AI-powered applications.
I’m primarily a Rust and Haskell hacker in my own time and use Scala for work. However, I enjoy learning new languages and so tend to dabble in lots of them. I especially like playing with esoteric languages, which (along with functional programming) are what got me interested in programming languages in the first place!
Besides programming languages, I’m into other nerdy things like game theory, linguistics, board games, and sci-fi/fantasy books. I’m also into (arguably) less nerdy things like playing tennis, gardening, traveling, following my hometown sportsball teams, and spending time with friends.
I live with my wife Allison, a graphic designer and animal whisperer who does the board games, books, tennis, traveling, and friends with me (but skips much of the rest to spend time with her horse), and our very anxious but very handsome cat Gort.
Check out my Research page for much more on my research interests and expertise, or my Software for links and brief descriptions of some projects I’ve worked on. I’m not looking for work, but if you’re interested in my background, you can also take a peek at my engineering-oriented resume or my research-oriented CV.