# Towards a quantum programming language

@article{Selinger2004TowardsAQ, title={Towards a quantum programming language}, author={Peter Selinger}, journal={Mathematical Structures in Computer Science}, year={2004}, volume={14}, pages={527 - 586} }

We propose the design of a programming language for quantum computing. Traditionally, quantum algorithms are frequently expressed at the hardware level, for instance in terms of the quantum circuit model or quantum Turing machines. These approaches do not encourage structured programming or abstractions such as data types. In this paper, we describe the syntax and semantics of a simple quantum programming language with high-level features such as loops, recursive procedures, and structured data…

## 444 Citations

Operational Semantics and Type Soundness of Quantum Programming Language LanQ

- Computer Science
- 2007

We present an imperative quantum programming language LanQ which was designed to support combination of quantum and classical programming and basic process operations - process creation and…

Compilation to quantum circuits for a language with quantum data and control

- Computer Science2013 Federated Conference on Computer Science and Information Systems
- 2013

A semantics for nQML is defined, which translates programs to quantum circuits in the category FQC of finite quantum computations, following the approach of Altenkirch and Grattage's QML.

Semantics and simulation of communication in quantum programming

- Computer ScienceArXiv
- 2005

CQPL possesses a denotational semantics based on a partial order of superoperators and uses fixed points on a generalised Hilbert space to formalise the exchange of classical and quantum data between an arbitrary number of participants.

A lambda calculus for quantum computation with classical control

- Computer Science
- 2005

A functional programming language for quantum computers, by extending the simply-typed lambda calculus with quantum types and operations, and gives a type system using affine intuitionistic linear logic.

A lambda calculus for quantum computation with classical control

- Computer ScienceMathematical Structures in Computer Science
- 2006

A functional programming language for quantum computers by extending the simply-typed lambda calculus with quantum types and operations, and gives a type system using affine intuitionistic linear logic.

A Compiler for a Functional Quantum Programming Language

- Computer Science
- 2005

A compiler for the functional quantum programming language QML, developed in Haskell, takes QML expressions as input and outputs a representation of quantum circuits which can be simulated by the simulator presented here, or by using a standard simulator for quantum gates.

Towards a formally verified functional quantum programming language

- Computer Science
- 2010

This thesis looks at the development of a framework for a functional quantum programming language, designed following a structural approach as given by a categorical model of quantum computation, first developed in Haskell and then implemented in Agda.

A functional quantum programming language

- Computer Science20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05)
- 2005

QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings explicit, and preserves superpositions and entanglement -which is essential for quantum parallelism.

A Logic for Recursive Quantum Programs

- Computer ScienceArXiv
- 2018

This paper presents a logic for recursive quantum programs, an extension of quantum Hoare logic for quantum While-programs, and its effectiveness is shown by a running example: fixed-point Grover's search.

Categorical Semantics for a Quantum Language ∗

- Computer Science
- 2010

A correspondence theorem for a quantum programming language in an axiomatic (categorical) setting is proved and a simple whilebased programming language for a machine that has access to Quantum Systems and the relevant operations on them is presented.

## References

SHOWING 1-10 OF 21 REFERENCES

Quantum Programming

- Computer ScienceMPC
- 2000

The theory of quantum programming provides tools to write both classical and quantum specifications, develop quantum programs that implement these specifications, and reason about their comparative time and space complexity all in the same framework.

Toward an architecture for quantum programming

- Computer ScienceArXiv
- 2001

A template high level quantum language is presented which complements a generic general purpose classical language with a set of quantum primitives, and easily lends itself to automatic, hardware independent, circuit simplification.

A Procedural Formalism for Quantum Computing

- Computer Science
- 2002

QCL (Quantum Computation Language) is a hight level, architecture independent programming language for quantum computers, with a syntax derived from classical procedural languages like C or Pascal, which allows for the complete implementation and simulation of quantum algorithms in one consistent formalism.

Conventions for Quantum Pseudocode

- Physics
- 1996

A few conventions for thinking about and writing quantum pseu-docode are proposed. The conventions can be used for presenting any quantum algorithm down to the lowest level and are consistent with a…

A fast quantum mechanical algorithm for database search

- Computer ScienceSTOC '96
- 1996

In early 1994, it was demonstrated that a quantum mechanical computer could efficiently solve a well-known problem for which there was no known efficient algorithm using classical computers, i.e. testing whether or not a given integer, N, is prime, in a time which is a finite power of o (logN) .

Quantum information and computation

- Computer Science, PhysicsNature
- 2000

In information processing, as in physics, the classical world view provides an incomplete approximation to an underlying quantum reality that can be harnessed to break codes, create unbreakable codes, and speed up otherwise intractable computations.

Algorithms for quantum computation: discrete logarithms and factoring

- Computer ScienceProceedings 35th Annual Symposium on Foundations of Computer Science
- 1994

Las Vegas algorithms for finding discrete logarithms and factoring integers on a quantum computer that take a number of steps which is polynomial in the input size, e.g., the number of digits of the integer to be factored are given.

Models of sharing graphs : a categorical semantics of let and letrec

- Computer Science
- 1997

An algebraic approach, based on the language of category theory, is taken throughout this work, which enables the author to describe several aspects of the notion of sharing in a systematic way.