Quipper is an embedded, scalable functional programming language for quantum computing. It provides, among other things: A high-level circuit description language. This includes gate-by-gate descriptions of circuit fragments, as well as powerful operators for assembling and manipulating circuits. A syntax that allows a mixture of procedural and declarative programming styles. Built-in facilities f