Quipper: A Scalable Quantum Programming Language
Quipper: A Scalable Quantum Programming Language
Green and colleagues introduce Quipper, a functional higher-order quantum language that generates large-scale quantum circuits.
Paper information (2013, PLDI; ACM SIGPLAN Notices 48(6):333–342) — Alexander S. Green, Peter LeFanu Lumsdaine, Neil J. Ross, Peter Selinger, and Benoît Valiron. DOI; arXiv:1304.3390
Work
The paper introduces Quipper, a functional higher-order language aimed at quantum algorithms beyond toy scale. Quipper uses a classical computer to control a quantum device, supports compositional program generation and circuit representations, and reports implementations of diverse nontrivial algorithms, including circuit representations with trillions of gates. The design is not tied to one hardware model.
Contributions
- A scalable and expressive functional higher-order quantum programming language.
- A combination of classical control, program abstraction, and quantum-circuit generation.
- Demonstrations that Quipper can describe diverse nontrivial algorithms and very large circuit representations.
- A programmable foundation for later formal analysis of quantum algorithms.
Limits
The ability to generate a large circuit does not mean that a hardware backend can execute it at the same scale; language features, simulation, and target-device support must be assessed separately. Quipper does not automatically prove algorithmic correctness, exact resource estimates, or post-compilation hardware behavior. Runtime details, gate sets, connectivity, and noise remain backend concerns.
Connections
Quipper brings the language designs of QPL and A Lambda Calculus for Quantum Computation with Classical Control toward an engineering framework for large circuit generation, while continuing the functional direction of QML. Compared with Quantum Circuits, Quipper offers a higher-level abstraction and program generation; compared with Communicating Quantum Processes, it focuses on circuit description rather than process communication.
Original paper
Alexander S. Green, Peter LeFanu Lumsdaine, Neil J. Ross, Peter Selinger, and Benoît Valiron, Quipper: A Scalable Quantum Programming Language, in PLDI 2013, ACM SIGPLAN Notices 48(6), 333–342, DOI: 10.1145/2499370.2462177. arXiv:1304.3390