A Monadic Semantics for Quantum Computing in Featherweight Java

Nowadays, several languages and libraries have been proposed to program and reason about quantum programs in the imperative and functional paradigms. Although the object-oriented paradigm is one of the most used for general purpose software, there is a lack of quantum programming languages designed with this paradigm in mind. In this paper, we present the monadic semantics for FJQuantum, an object-oriented language based on Featherweight Java, created to reason and to develop programs handling quantum data and quantum operations, taking advantage of the characteristics of that paradigm. We also show a set of examples of quantum programs using the proposed language.

[1]  Benoît Valiron,et al.  A lambda calculus for quantum computation with classical control , 2006, Math. Struct. Comput. Sci..

[2]  Samson Abramsky High-level methods for quantum computation and information , 2004, LICS 2004.

[3]  Juliana Kaizer Vizzotto,et al.  The Arrow Calculus as a Quantum Programming Language , 2009, WoLLIC.

[4]  Juliana Kaizer Vizzotto,et al.  Quantum Monad Using Java Closures , 2013, 2013 2nd Workshop-School on Theoretical Computer Science.

[5]  Peter Selinger,et al.  Towards a quantum programming language , 2004, Mathematical Structures in Computer Science.

[6]  Gilles Dowek,et al.  Linear-algebraic lambda-calculus: higher-order, encodings, and confluence , 2008, RTA.

[7]  Thorsten Altenkirch,et al.  Structuring quantum effects: superoperators as arrows , 2006, Math. Struct. Comput. Sci..

[8]  Marco Bellia,et al.  Proving Type Safety for Java Simple Closures , 2010 .

[9]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[10]  E. Knill,et al.  Conventions for quantum pseudocode , 1996, 2211.02559.

[11]  Juliana Kaizer Vizzotto,et al.  A Double Effect λ-calculus for Quantum Computation , 2013, SBLP.

[12]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[13]  Thorsten Altenkirch,et al.  An Algebra of Pure Quantum Programming , 2007, Electron. Notes Theor. Comput. Sci..

[14]  Bernhard Ömer,et al.  A Procedural Formalism for Quantum Computing , 2002 .

[15]  Shin-Cheng Mu,et al.  Functional Quantum Programming , 2001, APLAS.

[16]  Philip Wadler,et al.  Featherweight Java: a minimal core calculus for Java and GJ , 2001, TOPL.

[17]  Peter Selinger,et al.  Finite Dimensional Hilbert Spaces are Complete for Dagger Compact Closed Categories (Extended Abstract) , 2011, QPL/DCM@ICALP.

[18]  André Rauber Du Bois,et al.  A Domain Specific Language for Composable Memory Transactions in Java , 2009, DSL.

[19]  I. Chuang,et al.  Quantum Computation and Quantum Information: Introduction to the Tenth Anniversary Edition , 2010 .

[20]  André van Tonder,et al.  A Lambda Calculus for Quantum Computation , 2003, SIAM J. Comput..

[21]  Jonathan Grattage A functional quantum programming language , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[22]  Eugenio Moggi,et al.  Computational lambda-calculus and monads , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[23]  N. Mermin Quantum Computer Science: An Introduction , 2007 .

[24]  Bob Coecke,et al.  Interacting Quantum Observables , 2008, ICALP.