The quipper-core package
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 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 code.
Support for hierarchical circuits.
Extensible quantum data types.
Programmable circuit transformers.
Support for three execution phases: compile time, circuit generation time, and circuit execution time. A dynamic lifting operation to allow circuit generation to be parametric on values 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 Qram 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.
This package contains all of quipper, except for the rendering part, which has been separated into the quipper-rendering package to reduce dependencies.
[Skip to Readme]
|Dependencies||base (>=4.6 && <4.10), containers (==0.5.*), mtl (>=2.1 && <2.3), primes (==0.2.*), random (>=1.0 && <1.2), template-haskell (>=2.8 && <2.12) [details]|
|Copyright||Copyright (C) 2012-2013 Applied Communication Sciences.|
|Author||Applied Communication Sciences|
|Uploaded||Fri Jan 6 22:06:44 UTC 2017 by miniBill|
|Downloads||45 total (7 in the last 30 days)|
|Status||Docs available [build log]
Last success reported on 2017-01-06 [all 1 reports]
For package maintainers and hackage trustees