Results 1  10
of
25
A functional quantum programming language
 In: Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science
, 2005
"... This thesis introduces the language QML, a functional language for quantum computations on finite types. QML exhibits quantum data and control structures, and integrates reversible and irreversible quantum computations. The design of QML is guided by the categorical semantics: QML programs are inte ..."
Abstract

Cited by 70 (12 self)
 Add to MetaCart
(Show Context)
This thesis introduces the language QML, a functional language for quantum computations on finite types. QML exhibits quantum data and control structures, and integrates reversible and irreversible quantum computations. The design of QML is guided by the categorical semantics: QML programs are interpreted by morphisms in the category FQC of finite quantum computations, which provides a constructive operational semantics of irreversible quantum computations, realisable as quantum circuits. The quantum circuit model is also given a formal categorical definition via the category FQC. QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings, which may lead to the collapse of the quantum wavefunction, explicit. Strict programs are free from measurement, and hence preserve superpositions and entanglement. A denotational semantics of QML programs is presented, which maps QML terms
Quantum Programming Languages  Survey and Bibliography
 UNDER CONSIDERATION FOR PUBLICATION IN MATH. STRUCT. IN COMP. SCIENCE
, 2006
"... The field of quantum programming languages is developing rapidly and there is a surprisingly large literature. Research in this area includes the design of programming languages for quantum computing, the application of established semantic and logical techniques to the foundations of quantum mechan ..."
Abstract

Cited by 47 (2 self)
 Add to MetaCart
The field of quantum programming languages is developing rapidly and there is a surprisingly large literature. Research in this area includes the design of programming languages for quantum computing, the application of established semantic and logical techniques to the foundations of quantum mechanics, and the design of compilers for quantum programming languages. This article justifies the study of quantum programming languages, presents the basics of quantum computing, surveys the literature in quantum programming languages, and indicates directions for future research.
Monads Need Not Be Endofunctors
"... Abstract. We introduce a generalisation of monads, called relative monads, allowing for underlying functors between different categories. Examples include finitedimensional vector spaces, untyped and typed λcalculus syntax and indexed containers. We show that the Kleisli and EilenbergMoore constr ..."
Abstract

Cited by 19 (5 self)
 Add to MetaCart
(Show Context)
Abstract. We introduce a generalisation of monads, called relative monads, allowing for underlying functors between different categories. Examples include finitedimensional vector spaces, untyped and typed λcalculus syntax and indexed containers. We show that the Kleisli and EilenbergMoore constructions carry over to relative monads and are related to relative adjunctions. Under reasonable assumptions, relative monads are monoids in the functor category concerned and extend to monads, giving rise to a coreflection between monads and relative monads. Arrows are also an instance of relative monads. 1
The constrainedmonad problem
 In Proceedings of the 18th ACM SIGPLAN international conference on Functional programming. ACM
, 2013
"... In Haskell, there are many data types that would form monads were it not for the presence of typeclass constraints on the operations on that data type. This is a frustrating problem in practice, because there is a considerable amount of support and infrastructure for monads that these data types ca ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
(Show Context)
In Haskell, there are many data types that would form monads were it not for the presence of typeclass constraints on the operations on that data type. This is a frustrating problem in practice, because there is a considerable amount of support and infrastructure for monads that these data types cannot use. Using several examples, we show that a monadic computation can be restructured into a normal form such that the standard monad class can be used. The technique is not specific to monads, and we show how it can also be applied to other structures, such as applicative functors. One significant use case for this technique is domainspecific languages, where it is often desirable to compile a deep embedding of a computation to some other language, which requires restricting the types that can appear in that computation.
QML: Quantum data and control
, 2005
"... We introduce the language QML, a functional language for quantum computations on finite types. QML introduces quantum data and control structures, and integrates reversible and irreversible quantum computation. QML is based on strict linear logic, hence weakenings, which may lead to decoherence, hav ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
We introduce the language QML, a functional language for quantum computations on finite types. QML introduces quantum data and control structures, and integrates reversible and irreversible quantum computation. QML is based on strict linear logic, hence weakenings, which may lead to decoherence, have to be explicit. We present an operational semantics of QML programs using quantum circuits, and a denotational semantics using superoperators.
Quantum Programming Languages: An Introductory Overview
, 2006
"... The present article gives an introductory overview of the novel field of quantum programming languages (QPLs) from a pragmatic perspective. First, after a short summary of basic notations of quantum mechanics, some of the goals and design issues are surveyed, which motivate the research in this area ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
The present article gives an introductory overview of the novel field of quantum programming languages (QPLs) from a pragmatic perspective. First, after a short summary of basic notations of quantum mechanics, some of the goals and design issues are surveyed, which motivate the research in this area. Then, several of the approaches are described in more detail. The article concludes with a brief survey of current research activities and a tabular summary of a selection of QPLs, which have been published so far.
Quantum Circuits: From a Network to a OneWay Model
, 2007
"... We present elements of quantum circuits translations from the (standard) network or circuit model to the oneway one. We present a translation scheme, give an account of currently existing tools to apply the scheme, and propose an extension of those tools into a complete translation calculus. We ana ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We present elements of quantum circuits translations from the (standard) network or circuit model to the oneway one. We present a translation scheme, give an account of currently existing tools to apply the scheme, and propose an extension of those tools into a complete translation calculus. We analyse the set of difficulties incurred from such work, and show an engendered opening to new sets of problems and ideas. Among others, this paper introduces the notions of graphical concatenation, graph state reduction (GSR) and graph state extension (GSE) passes, as well as an algorithm for running the
The ConstrainedMonad Problem (Corrected Version, 9th June 2014)
"... In Haskell, there are many data types that would form monads were it not for the presence of typeclass constraints on the operations on that data type. This is a frustrating problem in practice, because there is a considerable amount of support and infrastructure for monads that these data types ca ..."
Abstract
 Add to MetaCart
(Show Context)
In Haskell, there are many data types that would form monads were it not for the presence of typeclass constraints on the operations on that data type. This is a frustrating problem in practice, because there is a considerable amount of support and infrastructure for monads that these data types cannot use. Using several examples, we show that a monadic computation can be restructured into a normal form such that the standard monad class can be used. The technique is not specific to monads, and we show how it can also be applied to other structures, such as applicative functors. One significant use case for this technique is domainspecific languages, where it is often desirable to compile a deep embedding of a computation to some other language, which requires restricting the types that can appear in that computation.
MONADS NEED NOT BE ENDOFUNCTORS ∗
, 2011
"... Vol. 11(1:3)2015, pp. 1–40 www.lmcsonline.org ..."
(Show Context)
Chapter 1 Shor in Haskell The Quantum IO Monad
"... Quantum IO monad, and use it to implement Shor’s factorisation algorithm. The QIO monad separates reversible (i.e. unitary) and irreversible (i.e. probabilistic) computations and provides a reversible let operation (ulet), allowing us to use ancillas (auxiliary qubits) in a modular fashion. Exploiti ..."
Abstract
 Add to MetaCart
(Show Context)
Quantum IO monad, and use it to implement Shor’s factorisation algorithm. The QIO monad separates reversible (i.e. unitary) and irreversible (i.e. probabilistic) computations and provides a reversible let operation (ulet), allowing us to use ancillas (auxiliary qubits) in a modular fashion. Exploiting Haskell’s class system we can present our algorithms in a high level way, implementing abstractions in the functional paradigm. We describe the implementation of Shor’s algorithm in some detail also covering the necessary reversible arithmetic. QIO programs can be simulated either by calculating a probability distribution or by embedding it into the IO monad using the random number generator. 1.1