Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

IEEE Latin America Transactions

Reversibility for Quantum Programming Language QML

Nely Plata César, J. Raymundo Marcial‐Romero, José Antonio Hernández Servín

Published Oct 1, 2020• 1 citation
Publisher

Abstract

We present an extension of the denotational semantic model of the quantum programming language QML, to which computational reversibility is incorporated. The semantics of QML is defined in a functional setting which consider classical and quantum data, to which we add inverse functions. Additionally we incorporate into the semantics a history track which allows reversibility in QML. From the generation and processing of the history track and the final result of a program, the rules for executing reversibility allow to compute the original input data. This work contributes to the study of reversibility in quantum programming languages and considering that there is not yet a quantum computer in which the language can be implemented, this history and the proposed inverse functions are not trivial and allow us to determine that this language is reversible.

DOI
10.1109/tla.2020.9387639

Related papers

Lenguaje de programación cuántico QML con historial, reversibilidad y cálculo lambda con mediciones

Nely Plata César

Research in quantum computing allows us to think about computing in a new and different way, having the ambition to solve problems more efficiently than with classical computing. Now a days, conventional tasks cannot be practically developed in a quantum computer, however, it is possible to think and develop abstractions of them, for example through quantum programming languages, being the core of this research, in particular the Quantum Meta Language (QML). We present a semantic model that incorporates reversibility via a history track for the quantum programming language QML, considering classical and quantum data, omitting measurements. With the history, the reversibility can be explicitly and naturally applied from the proposed rules. The language is worked first with classical data and extrapolated to quantum data. Also, the QML language and quantum lambda calculus were linked, giving as product a syntax with quantum measurements, operational semantics, typing rules and some formal proofs.

•Jun 1, 2020•0 citations

An Overview of QML With a Concrete Implementation in Haskell

Jonathan Grattage

This paper gives an introduction to and overview of the functional quantum programming language QML. The syntax of this language is defined and explained, along with a new QML definition of the quantum teleport algorithm. The categorical operational semantics of QML is also briefly introduced, in the form of annotated quantum circuits. This definition leads to a denotational semantics, given in terms of superoperators. Finally, an implementation in Haskell of the semantics for QML is presented as a compiler. The compiler takes QML programs as input, which are parsed into a Haskell datatype. The output from the compiler is either a quantum circuit (operational), an isometry (pure denotational) or a superoperator (impure denotational). Orthogonality judgements and problems with coproducts in QML are also discussed.

arXiv:0806.2735•Electronic Notes in Theoretical Computer Science•Feb 1, 2011•23 citations

A Functional Quantum Programming Language

T. Altenkirch, Jonathan Grattage

We introduce the language QML, a functional language for quantum computations on finite types. Its design is guided by its categorical semantics: QML programs are interpreted by morphisms in the category FQC of finite quantum computations, which provides a constructive semantics of irreversible quantum computations realisable as quantum gates. QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings explicit. Strict programs are free from decoherence and hence preserve superpositions and entanglement - which is essential for quantum parallelism.

arXiv:quant-ph/0409065•ACM/IEEE Symposium on Logic in Computer Science (LICS)•Oct 11, 2006•117 citations

Compilation to Quantum Circuits for a Language with Quantum Data and Control

Yannis Rouselakis, Nikolaos Papaspyrou, Yiannis Tsiouris +1 more

Abstract—In this paper we further investigate nQML, a functional quantum programming language that follows the “quantum data and control ” paradigm. We define a semantics for nQML, which translates programs to quantum circuits in the category FQC of finite quantum computations, following the approach of Altenkirch and Grattage’s QML. This semantics, which coincides with the denotational semantics for nQML over density matrices and unitary transformations, serves as a compiler from nQML programs to quantum circuits. We also provide an implementation of this compiler, written in Haskell, as well as an interpreter for quantum circuits. I.

•Nov 3, 2015•3 citations

A functional quantum programming language

Thorsten Altenkirch, Jonathan Grattage

Abstract. We introduce the language QML, a functional language for quantum computations on finite types. Its design is guided by its categorical semantics: QML programs are interpreted by morphisms in the category FQC of finite quantum computations, which provides a constructive semantics of irreversible quantum computations realizable as quantum gates. QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings explicit. Strict programs are free from decoherence and hence preserve superpositions and entanglement – which is essential for quantum parallelism. 1

•Sep 11, 2004•192 citations

Quantum Data and Control Made Easier

Michael Lampis, Kyriakos G. Ginis, Michalis A. Papakyriakou +1 more

In this paper we define nQML, a functional quantum programming language that follows the “quantum data and control” paradigm. In comparison to Altenkirch and Grattage's QML, the control constructs of nQML are simpler and can implement quantum algorithms more directly and naturally. We avoid the unnecessary complexities of a linear type system by using types that carry the address of qubits in the quantum state. We provide a denotational semantics over density matrices and unitary transformations, inspired by Selinger's semantics for QPL. Our semantics leads naturally to an interpreter for nQML, written in Haskell. We also explore the extension of nQML with polymorphic higher-order functions.

Electronic Notes in Theoretical Computer Science•Jul 1, 2008•11 citations
We present an extension of the denotational semantic model of the quantum programming language QML, to which computational reversibility is incorporated. The semantics of QML is defined in a functional setting which consider classical and quantum data, to which we add inverse functions. Additionally we incorporate into the semantics a history track which allows reversibility in QML. From the generation and processing of the history track and the final result of a program, the rules for executing reversibility allow to compute the original input data. This work contributes to the study of reversibility in quantum programming languages and considering that there is not yet a quantum computer in which the language can be implemented, this history and the proposed inverse functions are not trivial and allow us to determine that this language is reversible.
Research in quantum computing allows us to think about computing in a new and different way, having the ambition to solve problems more efficiently than with classical computing. Now a days, conventional tasks cannot be practically developed in a quantum computer, however, it is possible to think and develop abstractions of them, for example through quantum programming languages, being the core of this research, in particular the Quantum Meta Language (QML). We present a semantic model that incorporates reversibility via a history track for the quantum programming language QML, considering classical and quantum data, omitting measurements. With the history, the reversibility can be explicitly and naturally applied from the proposed rules. The language is worked first with classical data and extrapolated to quantum data. Also, the QML language and quantum lambda calculus were linked, giving as product a syntax with quantum measurements, operational semantics, typing rules and some formal proofs.
This paper gives an introduction to and overview of the functional quantum programming language QML. The syntax of this language is defined and explained, along with a new QML definition of the quantum teleport algorithm. The categorical operational semantics of QML is also briefly introduced, in the form of annotated quantum circuits. This definition leads to a denotational semantics, given in terms of superoperators. Finally, an implementation in Haskell of the semantics for QML is presented as a compiler. The compiler takes QML programs as input, which are parsed into a Haskell datatype. The output from the compiler is either a quantum circuit (operational), an isometry (pure denotational) or a superoperator (impure denotational). Orthogonality judgements and problems with coproducts in QML are also discussed.
We introduce the language QML, a functional language for quantum computations on finite types. Its design is guided by its categorical semantics: QML programs are interpreted by morphisms in the category FQC of finite quantum computations, which provides a constructive semantics of irreversible quantum computations realisable as quantum gates. QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings explicit. Strict programs are free from decoherence and hence preserve superpositions and entanglement - which is essential for quantum parallelism.
Abstract—In this paper we further investigate nQML, a functional quantum programming language that follows the “quantum data and control ” paradigm. We define a semantics for nQML, which translates programs to quantum circuits in the category FQC of finite quantum computations, following the approach of Altenkirch and Grattage’s QML. This semantics, which coincides with the denotational semantics for nQML over density matrices and unitary transformations, serves as a compiler from nQML programs to quantum circuits. We also provide an implementation of this compiler, written in Haskell, as well as an interpreter for quantum circuits. I.
Abstract. We introduce the language QML, a functional language for quantum computations on finite types. Its design is guided by its categorical semantics: QML programs are interpreted by morphisms in the category FQC of finite quantum computations, which provides a constructive semantics of irreversible quantum computations realizable as quantum gates. QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings explicit. Strict programs are free from decoherence and hence preserve superpositions and entanglement – which is essential for quantum parallelism. 1
In this paper we define nQML, a functional quantum programming language that follows the “quantum data and control” paradigm. In comparison to Altenkirch and Grattage's QML, the control constructs of nQML are simpler and can implement quantum algorithms more directly and naturally. We avoid the unnecessary complexities of a linear type system by using types that carry the address of qubits in the quantum state. We provide a denotational semantics over density matrices and unitary transformations, inspired by Selinger's semantics for QPL. Our semantics leads naturally to an interpreter for nQML, written in Haskell. We also explore the extension of nQML with polymorphic higher-order functions.