2015-11-13 94 views
-1

狀態monad在Clojure中有意義嗎?如果是這樣,我會很感激狀態monad比通過swap! s或reset! s變異Clojure原子更合適的情況。狀態monad vs Clojure中的原子

+0

搜索「clojure monad」或「clojure state monad」,你會發現幾個可能相關的鏈接。 – Mars

+0

@Mars謝謝。我對Clojure中的狀態monads及其實現有所瞭解。問題在於何時何地使用狀態monad而不是其他「有狀態」的東西。 – OlegTheCat

回答

1

你不會需要它。但monad被用來構建比plain狀態更多的抽象概念。 Clojure的core.async的go宏是一個狀態機,內部它是作爲一個monad實現的。你可以看Tim Baldridge的解釋:https://www.youtube.com/watch?v=R3PZMIwXN_g