Подтвердить что ты не робот

Является ли haskell подходящим для квантовых вычислений?

Я только что прочитал статью о квантовой физике. Интересно то, что в представлении программиста Haskell есть некоторое сходство между этими двумя полями.

Прежде всего, измерение в квантовом мире похоже на ленивую оценку в Haskell. Если вы не измеряете, вы не знаете, что кошка живет или мертва. Если вы не оцениваете, вы не знаете, какое значение определено или undefined.

Во-вторых, в кванте мы имеем парадокс ЭПР, что можно объяснить взаимодействием со скоростью выше, чем свет, или, что то же самое, машиной времени. В Haskell, как мы видели в Assembly: Circular Programming with Recursive do -Monad.Reader issue 6, мы можем получить доступ к значению, полученному из будущего, с помощью рекурсивного сделать.

Наконец, в кванте мы должны различать наблюдаемый мир, в котором энтропия никогда не уменьшается, а "чистый" квантовый мир, время которого эквивалентно в обоих направлениях. В Haskell мы имеем мир IO(), который описывает, что на самом деле делает программа, и чистый функциональный мир, который никогда не имеет побочных эффектов, и значения никогда не зависят от порядка оценки.

Итак, я думаю, что приведенный выше факт подсказывает, что между этими двумя полями существует некоторая взаимосвязь. Может ли это иметь более интересные последствия? Например, хотя я говорил о парадоксах EPR, я не знаю, как создать программу Haskell для имитации этого: функция создает два значения, а последующая оценка одного из них влияет на другое (я думаю, что эти значения должны иметь IO(), но я не знаю, как их собрать).

4b9b3361