The Arrow Calculus as a Quantum Programming Language

@inproceedings{Vizzotto2009TheAC,
  title={The Arrow Calculus as a Quantum Programming Language},
  author={Juliana Kaizer Vizzotto and Andr{\'e} Rauber Du Bois and Amr Sabry},
  booktitle={WoLLIC},
  year={2009}
}
We express quantum computations (with measurements) using the arrow calculus extended with monadic constructions. This framework expresses quantum programming using well-understood and familiar classical patterns for programming in the presence of computational effects. In addition, the five laws of the arrow calculus provide a convenient framework for equational reasoning about quantum computations that include measurements. 
A Double Effect λ-calculus for Quantum Computation
TLDR
This paper presents a double effect version of the simply typed λ-calculus where it allows to express quantum algorithms including reversible operations over pure states and measurements in the middle of the computation using a traditional style of functional programming and reasoning.
Reasoning about General Quantum Programs over Mixed States
TLDR
A functional programming language for quantum computation over mixed states is presented and a set of equations for the resulting programming language is developed, proposing the first framework for equational reasoning about quantum computations over mixedStates.
Compilation to quantum circuits for a language with quantum data and control
TLDR
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.
A HoTT Quantum Equational Theory (Extended Version)
TLDR
The embedded language approach is highly expressive, and reflects the style of state-of-the art quantum languages like Quipper and QWIRE, and takes advantage of features of homotopy type theory to encode unitary transformations as higher inductive paths, simplifying the presentation of an equational theory.
Quantum information effects
TLDR
This work studies the two dual quantum information effects to manipulate the amount of information in quantum computation: hiding and allocation, and provides universal categorical constructions that semantically interpret this arrow metalanguage with choice.
A Monadic Semantics for Quantum Computing in Featherweight Java
TLDR
The monadic semantics for FJQuantum, an object-oriented language based on Featherweight Java, created to reason and to develop programs handling quantum data and quantum operations, taking advantage of the characteristics of that paradigm.
Quantum Computing over Finite Fields
TLDR
A model of discrete quantum computing is distill from this quantum theory using a monadic metalanguage built on top of a universal reversible language for finite computations, and hence is directly implementable in a language like Haskell.
FJQuantum - A Quantum Object Oriented Language
QWIRE: a core language for quantum circuits
TLDR
This paper introduces QWIRE (``choir''), a language for defining quantum circuits and an interface for manipulating them inside of an arbitrary classical host language, along with its type system and operational semantics, which it is proved is safe and strongly normalizing whenever the host language is.
...
...

References

SHOWING 1-10 OF 24 REFERENCES
An Algebra of Pure Quantum Programming
A Lambda Calculus for Quantum Computation
TLDR
A quantum lambda calculus is developed as an alternative model of quantum computation, which combines some of the benefits of both the quantum Turing machine and the quantum circuit models and it is argued that it is equivalent to the Quantum Turing machine.
Structuring quantum effects: superoperators as arrows
TLDR
The model of quantum computation based on density matrices and superoperators can be decomposed into a pure classical (functional) part and an effectful part modelling probabilities and measurement and expressed in the Haskell programming language using its special syntax for arrow computations.
Towards a quantum programming language
  • P. Selinger
  • Computer Science
    Mathematical Structures in Computer Science
  • 2004
TLDR
This paper describes the syntax and semantics of a simple quantum programming language with high-level features such as loops, recursive procedures, and structured data types, and has an interesting denotational semantics in terms of complete partial orders of superoperators.
Computational lambda-calculus and monads
  • E. Moggi
  • Computer Science
    [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science
  • 1989
TLDR
The author gives a calculus based on a categorical semantics for computations, which provides a correct basis for proving equivalence of programs, independent from any specific computational model.
Quantum computation and quantum information
  • T. Paul
  • Physics
    Mathematical Structures in Computer Science
  • 2007
This special issue of Mathematical Structures in Computer Science contains several contributions related to the modern field of Quantum Information and Quantum Computing. The first two papers deal
Special issue on quantum programming languages
  • P. Selinger
  • Computer Science
    Mathematical Structures in Computer Science
  • 2006
This special issue of Mathematical Structures in Computer Science grew out of the 2nd International Workshop on Quantum Programming Languages (QPL 2004), which was held July 12–13, 2004 in Turku,
Notions of Computation and Monads
  • E. Moggi
  • Computer Science
    Inf. Comput.
  • 1991
Quantum circuits with mixed states
TLDR
A solution for the subroutine problem: the general function that a quantum circuit outputs is a probabilistic function, but using pure state language, such a function can not be used as a black box in other computations.
The Arrow Calculus (Functional Pearl)
We introduce the arrow calculus, a metalanguage for manipulating Hughes’s arrows with close relations both to Moggi’s metalanguage for monads and to Paterson’s arrow notation.
...
...