[TYPES/announce] Quipper: a quantum programming language
Peter Selinger
selinger at mathstat.dal.ca
Wed Jun 19 15:36:36 EDT 2013
Dear Type Theorists,
we are proud to announce the first public release of Quipper, an
embedded, scalable functional programming language for quantum
computing. The Quipper distribution is available here:
http://www.mathstat.dal.ca/~selinger/quipper/
and includes extensive documentation, as well as seven worked examples
of non-trivial quantum algorithms from the literature.
Quipper is embedded in Haskell and makes use of many advanced features
of the GHC Glasgow Haskell Compiler. Here are some highlights:
* High-level circuit description language, including both gate-by-gate
descriptions and powerful higher-order operators for assembling and
manipulating circuits.
* A monadic semantics, allowing for a mixture of procedural and
declarative programming styles.
* Built-in facilities for automatic synthesis of reversible quantum
circuits, including from classical Haskell code.
* Support for hierarchical circuits.
* Extensible quantum data types.
* Support for a dynamic lifting operation to allow circuit generation
to depend on parameters generated at circuit execution time.
* Extensive libraries of quantum functions, including: libraries for
quantum integer and fixed-point arithmetic; the Quantum Fourier
transform; an efficient quantum random access memory implementation;
libraries for simulation of pseudo-classical circuits, Stabilizer
circuits, and arbitrary circuits; libraries for exact and
approximate decomposition of circuits into specific gate sets.
Comments are welcome!
Alexander S. Green
Peter LeFanu Lumsdaine
Neil Julien Ross
Peter Selinger
Benoit Valiron
More information about the Types-announce
mailing list