Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is Haskell suitable for quantum computing?

I have just read an article talking about quantum physics. One interesting thing is that in a Haskell programmer's view there are some similarities between these two fields.

First of all, measurement in the quantum world seems similar to lazy evaluation in Haskell: if you do not measure, you don't know whether the cat is living or dead. If you do not evaluate, you don't know whether the value is defined or undefined.

Second, in quantum we have the EPR paradox, which can be explained by interactions with speed higher than light, or equivalently, a time machine. In Haskell, as we have seen in Assembly: Circular Programming with Recursive do -Monad.Reader issue 6, we can access a value that came from the future by use of recursive do.

Finally, in quantum we have to distinguish the observable world in which entropy never decreases, and the "pure" quantum world in which time is equivalent in both directions. In Haskell we have the IO() world that describes what the program actually does, and the pure functional world that never has side effects, and the values never depend on evaluation order.

So I guess the above facts suggest there are some inter-connections between these two fields. Can this have more interesting consequences? For example, although I have talked about the EPR paradox, I don't know how to create a Haskell program to simulate this: a function creates two values, and later evaluation of one of them will affect the other (I think those values must have IO() types but I don't know how to put them together).

like image 467
Earth Engine Avatar asked Aug 27 '13 12:08

Earth Engine


People also ask

Which programming language is good for quantum computing?

QCL. Quantum computing language is one of the first implemented quantum programming languages that resembles C language in regards to syntax and data types. It is usually used for writing programs for quantum computers.

Is QISKit a programming language?

QISKit is the software that sits between quantum algorithms from one side, and the physical quantum device from the other. It translates common programming languages like Python into quantum machine language. This means anyone outside of the IBM Q lab can program a quantum computer.


1 Answers

Haskell has been used as a quantum programming language for a while now.

The primary point of reference would be the Quipper DSL in Haskell.

  • Quipper paper
  • New Scientist article on Quipper

And more fun stuff - http://www.kurzweilai.net/quipper-language-makes-quantum-computers-easier-to-program

like image 99
Don Stewart Avatar answered Sep 21 '22 19:09

Don Stewart