Haskell适合量子计算吗?

时间:2013-08-27 12:39:42

标签: haskell quantum-computing

我刚刚读了一篇关于量子物理学的文章。一个有趣的事情是,在Haskell程序员看来,这两个领域之间存在一些相似之处。

首先,量子世界中的测量看起来类似于Haskell中的懒惰评估:如果你不测量,你不知道这只猫是活着还是死了。如果您不评估,则不知道该值是已定义还是undefined

其次,在量子中,我们有EPR paradox,这可以通过高于光的速度的相互作用来解释,或者等价地,时间机器。在Haskell中,正如我们在Assembly: Circular Programming with Recursive do -Monad.Reader issue 6中看到的那样,我们可以通过使用递归do来访问未来的值。

最后,在量子中,我们必须区分熵永不减少的可观察世界和时间在两个方向上相等的“纯”量子世界。在Haskell中,我们有IO()世界描述了程序实际执行的操作,以及从未产生副作用的纯函数世界,并且值永远不会依赖于评估顺序。

所以我猜上述事实表明这两个领域之间存在一些相互联系。这会产生更有趣的后果吗?例如,虽然我已经谈到了EPR悖论,但我不知道如何创建一个Haskell程序来模拟这个:一个函数创建两个值,后来对其中一个的评估将影响另一个(我认为这些值必须有IO()种类型,但我不知道如何将它们组合在一起。

1 个答案:

答案 0 :(得分:25)

Haskell现在已被用作量子编程语言。

主要参考点是Haskell中的Quipper DSL。

更有趣的东西 - http://www.kurzweilai.net/quipper-language-makes-quantum-computers-easier-to-program