Qwire: A Core Language for Quantum Circuits
The QRAM model of quantum computing describes how a (hypothetical) quantum computer and a classical computer work together to produce sophisticated quantum algorithms. The classical computer handles the bulk of the computation and sends circuits to the quantum computer for execution. In this talk I will introduce the Qwire circuit language, which encodes circuits in a classical programming language of our choice and facilitates communication with an attached quantum computer. Qwire uses linear types to ensure that circuits are well-formed and has a sound operational semantics that reduces circuits to a small set of normal forms. In addition, the language is highly modular as it can be embedded into an arbitrary host language that treats circuits as first-class data.