
I study how to program a quantum computer to practically realize quantum algorithms. Quantum computers promise incredible speedups for tasks such as simulation, search, and optimization. However, achieving this speedup in practice forces us to fundamentally rethink the abstractions, such as data structures and control flow, that we use to write algorithms as programs. My research thus builds a new software stack of languages, libraries, and compilers to manipulate and reason about quantum information.