Daniel Wagner

Research & Engineering

At Galois, I pursue dual passions: I build tools that build tools, doing DSL and programming language design, building and extending compiler technology, and designing and building all manners of other automation; and, with Galois’ generously shared cryptography expertise, I build systems that respect users’ privacy, trust, and security needs.


Daniel got his start in programming from a book about drawing fractals in C, which came complete with 16 gloriously garish color pages set smack dab in the middle of the book. Mixing programming and mathematics left so many spots of color in his life that he went on to major in computer science and minor in math at Stanford. He taught himself Haskell during a particularly boring summer internship, and, starstruck, enrolled in a Ph.D. program in programming language design at the University of Pennsylvania. After more years than is really polite to mention, he produced a dissertation on bidirectional programming, and promptly left academia.

In his downtime, he can be found meditating over a go board, exploding virtual baddies (and sometimes virtual goodies), or contributing to the Haskell and FLOSS communities.