[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:


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