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

QJava: quantum arrows in Java

Bruno Crestani Calegaro

Published Aug 27, 2013• 0 citations
OpenAlex

Abstract

Quantum computing is an emerging technology that, currently, has the challenge of developing programming languages, according to the rules of quantum mechanics, to support the creation, analysis, modeling and simulation of high-level quantum algorithms. Particularly, the focus is on the investigation of new semantic models to develop programming languages for quantum computing. In this context, one alternative is to use the semantic model of monads and arrows that abstracts both pure and mixed quantum states and also can express measures. This model however, was originally implemented as a library for the functional language Haskell, which not every programmer is family. This way, this study aims to provide a universal tool for high-level quantum programming, providing a library for Java. This library was implemented using the new features of closures present in the version 8 of the JDK (Java Development Kit), already available in developers preview. In addition, we present a specific syntax for the library to facilitate the development of quantum algorithms with a clearly structured notation. This syntax is described in a notation similar to the do-notation of Haskell and operates in conjunction with a parser implemented by ANTLR tool.

Related papers

Quantum Monad Using Java Closures

Bruno Crestani Calegaro, Juliana Kaizer Vizzotto

To help the understanding and development of quantum algorithms there is an effort focused on the investigation of new semantic models and programming languages for quantum computing. Researchers in computer science have the challenge of developing programming languages with high level abstraction of quantum algorithms. Based on previous works that use monads inside the programming language Haskell to elegantly explain the odd characteristics of quantum computation (like superposition), in this work we present a monadic Java library for quantum programming using the new features of anonymous functions (closures) available in the developers preview of the JDK 8 (Java Development Kit).

Workshop-School on Theoretical Computer Science•Oct 1, 2013•3 citations

QJava: A Monadic Java Library for Quantum Programming

Juliana Kaizer Vizzotto, Bruno Crestani Calegaro

To help the understanding and development of quantum algorithms there is an effort focused on the investigation of new semantic models and programming languages for quantum computing. Researchers in computer science have the challenge of deve loping programming languages to support the creation, analysis, modeling and simulation of high level quantum algorithms. Based on previous works that use monads inside the programming language Haskell to elegantly explain the odd characteristics of quantum computation (like superposition and entanglement), in this work we present a monadic Java library for quantum programming. We use the extension of the programming language Java called BGGA Closure, that allow the manipulation of anonymous functions (closures) inside Java. We exemplify the use of the library with an implementation of the Toffoli quantum circuit.

Revista de Informática Teórica e Aplicada•May 18, 2015•2 citations

A quantum object-oriented language based on featherweight java

Samuel da Silva Feitosa

With the approaching end of Moore’s Law, where will not be possible to improve the capacity of silicon based processors, the quantum computing appear to be a good choice to provide a new era of computation. Quantum computing can be understood as the art of transform information encoded in the state of a quantum physical system. This encoding is through the quantum bits (qubits), which can be on superposition or entangled states, enabling to explore the property called quantum parallelism. In this work is discussed the creation of a quantum programming language implementing the object-oriented paradigm (OO), allowing manipulation of classes and objects, where the quantum effects are handled through a monadic approach, extending the Featherweight Java (FJ) proposal. This language is formally defined through the operational semantics, which allow the implementation in any language that provides closures. That language formalization enables us to create an interpreter, implementing the steps of lexical, syntactic and semantic analysis, focusing in the type system to embedded quantum computing concepts in a classical language. Several examples are provided in the text, showing ways to handle the monadic layer in order to perform transformations in quantum information.

•Mar 4, 2016•0 citations

Extending scientific computing system with structural quantum programming capabilities

P. Gawron, J. Klamka, Jarosław Adam Miszczak +1 more

Abstract. We present the basic high-level structures used for developing quantum programming languages. The presented structures are commonly used in many existing quantum programming languages and we use quantum pseudo-code based on QCL quantum programming language to describe them. We also present the implementation of introduced structures in GNU Octave language for scientific computing. Procedures used in the implementation are available as a package quantum-octave providing library of functions, which facilitates the simulation of quantum computing. This package allows also to incorporate high-level programming concepts into the simulation in GNU Octave and Matlab. As such it connects features unique for higl-level quantum programming languages, with the full palette of efficient computational routines commonly available in modern scientific computing systems. To present the major features of the described package we provide the implementation of selected quantum algorithms. We also show how quantum errors can be taken into account during the simulation of quantum algorithms using quantum-octave package. This is possible thanks to the ability to operate on density matrices implemented in quantum-octave. Key words: quantum information, quantum programming, models of quantum computation. 1.

•Jan 1, 2009•14 citations

Towards a quantum programming language

Peter Selinger

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 types. The language is functional in nature, statically typed, free of run-time errors, and has an interesting denotational semantics in terms of complete partial orders of superoperators.

Mathematical Structures in Computer Science•Aug 1, 2004•478 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
Quantum computing is an emerging technology that, currently, has the challenge of developing programming languages, according to the rules of quantum mechanics, to support the creation, analysis, modeling and simulation of high-level quantum algorithms. Particularly, the focus is on the investigation of new semantic models to develop programming languages for quantum computing. In this context, one alternative is to use the semantic model of monads and arrows that abstracts both pure and mixed quantum states and also can express measures. This model however, was originally implemented as a library for the functional language Haskell, which not every programmer is family. This way, this study aims to provide a universal tool for high-level quantum programming, providing a library for Java. This library was implemented using the new features of closures present in the version 8 of the JDK (Java Development Kit), already available in developers preview. In addition, we present a specific syntax for the library to facilitate the development of quantum algorithms with a clearly structured notation. This syntax is described in a notation similar to the do-notation of Haskell and operates in conjunction with a parser implemented by ANTLR tool.
To help the understanding and development of quantum algorithms there is an effort focused on the investigation of new semantic models and programming languages for quantum computing. Researchers in computer science have the challenge of developing programming languages with high level abstraction of quantum algorithms. Based on previous works that use monads inside the programming language Haskell to elegantly explain the odd characteristics of quantum computation (like superposition), in this work we present a monadic Java library for quantum programming using the new features of anonymous functions (closures) available in the developers preview of the JDK 8 (Java Development Kit).
To help the understanding and development of quantum algorithms there is an effort focused on the investigation of new semantic models and programming languages for quantum computing. Researchers in computer science have the challenge of deve loping programming languages to support the creation, analysis, modeling and simulation of high level quantum algorithms. Based on previous works that use monads inside the programming language Haskell to elegantly explain the odd characteristics of quantum computation (like superposition and entanglement), in this work we present a monadic Java library for quantum programming. We use the extension of the programming language Java called BGGA Closure, that allow the manipulation of anonymous functions (closures) inside Java. We exemplify the use of the library with an implementation of the Toffoli quantum circuit.
With the approaching end of Moore’s Law, where will not be possible to improve the capacity of silicon based processors, the quantum computing appear to be a good choice to provide a new era of computation. Quantum computing can be understood as the art of transform information encoded in the state of a quantum physical system. This encoding is through the quantum bits (qubits), which can be on superposition or entangled states, enabling to explore the property called quantum parallelism. In this work is discussed the creation of a quantum programming language implementing the object-oriented paradigm (OO), allowing manipulation of classes and objects, where the quantum effects are handled through a monadic approach, extending the Featherweight Java (FJ) proposal. This language is formally defined through the operational semantics, which allow the implementation in any language that provides closures. That language formalization enables us to create an interpreter, implementing the steps of lexical, syntactic and semantic analysis, focusing in the type system to embedded quantum computing concepts in a classical language. Several examples are provided in the text, showing ways to handle the monadic layer in order to perform transformations in quantum information.
Abstract. We present the basic high-level structures used for developing quantum programming languages. The presented structures are commonly used in many existing quantum programming languages and we use quantum pseudo-code based on QCL quantum programming language to describe them. We also present the implementation of introduced structures in GNU Octave language for scientific computing. Procedures used in the implementation are available as a package quantum-octave providing library of functions, which facilitates the simulation of quantum computing. This package allows also to incorporate high-level programming concepts into the simulation in GNU Octave and Matlab. As such it connects features unique for higl-level quantum programming languages, with the full palette of efficient computational routines commonly available in modern scientific computing systems. To present the major features of the described package we provide the implementation of selected quantum algorithms. We also show how quantum errors can be taken into account during the simulation of quantum algorithms using quantum-octave package. This is possible thanks to the ability to operate on density matrices implemented in quantum-octave. Key words: quantum information, quantum programming, models of quantum computation. 1.
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 types. The language is functional in nature, statically typed, free of run-time errors, and has an interesting denotational semantics in terms of complete partial orders of superoperators.
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.