Results 1  10
of
18
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 47 (12 self)
 Add to MetaCart
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
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 10 (1 self)
 Add to MetaCart
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
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 5 (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 4 (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.
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 2 (0 self)
 Add to MetaCart
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.
QPL 2006 From reversible to irreversible computations
"... In this paper we study the relation between reversible and irreversible computation applicable to different models of computation — here we are considering classical and quantum computation. We develop an equational theory of reversible computations and an associated theory of irreversible computati ..."
Abstract
 Add to MetaCart
In this paper we study the relation between reversible and irreversible computation applicable to different models of computation — here we are considering classical and quantum computation. We develop an equational theory of reversible computations and an associated theory of irreversible computations which is obtained by marking some inputs as preinitialised heap and some outputs as garbage to be thrown away at the end of the computation. We present three laws which apply to irreversible classical and quantum computations and show that von Neumann’s measurement postulate is derivable from them. We discuss the question whether these laws are complete for irreversible quantum computations. Key words: Reversible computation, irreversible computation, quantum computation, categorical models. 1
QPL 2006 Preliminary Version From reversible to irreversible computations Abstract
"... In this paper we study the relation between reversible and irreversible computation applicable to different models of computation — here we are considering classical and quantum computation. We develop an equational theory of reversible computations and an associated theory of irreversible computati ..."
Abstract
 Add to MetaCart
In this paper we study the relation between reversible and irreversible computation applicable to different models of computation — here we are considering classical and quantum computation. We develop an equational theory of reversible computations and an associated theory of irreversible computations which is obtained by marking some inputs as preinitialised heap and some outputs as garbage to be thrown away at the end of the computation. We present three laws which apply to irreversible classical and quantum computations and show that von Neumann’s measurement postulate is derivable from them. We discuss the question whether these laws are complete for irreversible quantum computations.
WECIQ 2006 Artigos Towards Quantum Haskell via Quantum Arrows
"... Abstract. This work proposes a set of high level primitives to be used for quantum programming. We call Quantum Haskell (QHaskell) the language generated by the primitives as it is induced by a model for quantum programming structured as arrows and implemented in Haskell. The main aspects of the lan ..."
Abstract
 Add to MetaCart
Abstract. This work proposes a set of high level primitives to be used for quantum programming. We call Quantum Haskell (QHaskell) the language generated by the primitives as it is induced by a model for quantum programming structured as arrows and implemented in Haskell. The main aspects of the language are its special syntax for manipulation of quantum data inspired on the do notation for arrows in Haskell, and a quantum control primitive inspired by the language QML, following the paradigm “quantum data and control”. We show how the constructions of the language fit as high level primitives to quantum programming through some examples. Finally, we briefly sketch a linear type system for the proposed language. 1.