30

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

首先,量子世界中的测量似乎类似于 Haskell 中的惰性求值:如果你不测量,你不知道猫是活的还是死的。如果不评估,则不知道值是定义的还是undefined.

其次,在量子中,我们有EPR 悖论,这可以通过与速度高于光速的相互作用来解释,或者等同于时间机器。在 Haskell 中,正如我们在Assembly: Circular Programming with Recursive do -Monad.Reader 第 6 期中所见,我们可以通过使用 recursive 访问来自未来的值do

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

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

4

1 回答 1

30

Haskell 作为一种量子编程语言已经有一段时间了。

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

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

于 2013-08-27T13:42:14.870 回答