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

Electronic Notes in Theoretical Computer Science

FJQuantum – A Quantum Object Oriented Language

Samuel da Silva Feitosa, Juliana Kaizer Vizzotto, Eduardo Kessler Piveta, André Rauber Du Bois

Published Sep 1, 2016• 13 citations
Publisher

Abstract

Several languages and libraries has been proposed to work with quantum programs, usually considering the imperative and functional paradigms. In this paper, we discuss the application of the FJQuantum language, an object-oriented language based on Featherweight Java to develop programs that handle quantum data and operations.
DOI
10.1016/j.entcs.2016.09.007

Related papers

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

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

QJava: quantum arrows in Java

Bruno Crestani Calegaro

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.

•Aug 27, 2013•0 citations

Quantum Programming Language NDQJava2 Processing System:Code Converter

Cai Xihu

NDQJava2 language is a hybrid,structured and imperative quantum programming language,which is an extension of NDQJava language with some additional quantum components. The processing system of NDQJava2is a simulative implementation of NDQJava2 on classical computers. This paper describes the code converter of NDQJava2 processing system,and discusses its design and implementation in detail. It adopts top-down and layer-bylayer conversion method,and converts syntax tree into Java code with quantum assembly instructions. Experiments show that the code converter achieves the desired purpose.

Jisuanji kexue yu tansuo•Jan 1, 2013•0 citations

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

Functional framework for representing and transforming quantum channels

Jarosław Adam Miszczak

We develop a framework which aims to simplify the analysis of quantum states and quantum operations by harnessing the potential of function programming paradigm. We show that the introduced framework allows a seamless manipulation of quantum channels, in particular to convert between different representations of quantum channels, and thus that the use of functional programming concepts facilitates the manipulation of abstract objects used in the language of quantum theory. For the purpose of our presentation we will use Mathematica computer algebra system. This choice is motivated twofold. First, it offers a rich programming language based on the functional paradigm. Second, this programming language is combined with powerful symbolic and numeric manipulation capabilities.

arXiv:1307.4906•Jul 18, 2013•1 citation
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.
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.
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.
NDQJava2 language is a hybrid,structured and imperative quantum programming language,which is an extension of NDQJava language with some additional quantum components. The processing system of NDQJava2is a simulative implementation of NDQJava2 on classical computers. This paper describes the code converter of NDQJava2 processing system,and discusses its design and implementation in detail. It adopts top-down and layer-bylayer conversion method,and converts syntax tree into Java code with quantum assembly instructions. Experiments show that the code converter achieves the desired purpose.
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).
We develop a framework which aims to simplify the analysis of quantum states and quantum operations by harnessing the potential of function programming paradigm. We show that the introduced framework allows a seamless manipulation of quantum channels, in particular to convert between different representations of quantum channels, and thus that the use of functional programming concepts facilitates the manipulation of abstract objects used in the language of quantum theory. For the purpose of our presentation we will use Mathematica computer algebra system. This choice is motivated twofold. First, it offers a rich programming language based on the functional paradigm. Second, this programming language is combined with powerful symbolic and numeric manipulation capabilities.