QJava: setas quânticas em Java
Resumo
A computação quântica é uma tecnologia emergente e, atualmente, encontra-se no desafio
de desenvolver linguagens de programação segundo as regras da mecânica quântica para
a criação, análise, modelagem e simulação de algoritmos quânticos de alto nível.
Particularmente, o foco é na investigação de novos modelos semânticos para elaborar
linguagens de programação para a computação quântica.
Nesse contexto, uma das alternativas é utilizar um modelo semântico de mônadas e
setas capaz de abstrair tanto estados quânticos puros quanto mistos e ainda expressar operações
de medidas. Esse modelo foi implementado como uma biblioteca para a linguagem funcional
Haskell, contudo nem todo programador está familiarizado.
Dessa forma, o presente trabalho objetiva oferecer uma ferramenta universal de alto
nível para a programação quântica, apresentando uma biblioteca para o Java.
Essa biblioteca foi implementada utilizando os novos recursos de closures presentes na
versão 8 do JDK (Java Development Kit), já disponibilizados na prévia de desenvolvedores.
Além disso, esse trabalho apresenta uma sintaxe específica para a biblioteca para facilitar
a elaboração de algoritmos quânticos de forma clara e estruturada, descrita de uma maneira
similar a notação-do do Haskell. A sintaxe criada opera em conjunto com um tradutor desenvolvido
com a ferramenta ANTLR.