From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.science.mathematics.categories/7775 Path: news.gmane.org!not-for-mail From: selinger@mathstat.dal.ca (Peter Selinger) Newsgroups: gmane.science.mathematics.categories Subject: Quipper: a quantum programming language Date: Wed, 19 Jun 2013 16:40:16 -0300 (ADT) Message-ID: Reply-To: selinger@mathstat.dal.ca (Peter Selinger) NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1371733983 27511 80.91.229.3 (20 Jun 2013 13:13:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 20 Jun 2013 13:13:03 +0000 (UTC) To: categories@mta.ca (Categories List) Original-X-From: majordomo@mlist.mta.ca Thu Jun 20 15:13:05 2013 Return-path: Envelope-to: gsmc-categories@m.gmane.org Original-Received: from smtp3.mta.ca ([138.73.1.186]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Upefb-00045T-0J for gsmc-categories@m.gmane.org; Thu, 20 Jun 2013 15:12:59 +0200 Original-Received: from mlist.mta.ca ([138.73.1.63]:35891) by smtp3.mta.ca with esmtp (Exim 4.80) (envelope-from ) id 1Upedd-0004aq-MA; Thu, 20 Jun 2013 10:10:57 -0300 Original-Received: from majordomo by mlist.mta.ca with local (Exim 4.71) (envelope-from ) id 1Upedc-00067l-On for categories-list@mlist.mta.ca; Thu, 20 Jun 2013 10:10:56 -0300 X-Mailer: ELM [version 2.5 PL8] Precedence: bulk Xref: news.gmane.org gmane.science.mathematics.categories:7775 Archived-At: Dear Category 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. 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. * Programmable circuit transformers (that are essentially monoidal functors). * 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 [For admin and other information see: http://www.mta.ca/~cat-dist/ ]