我查看了algo.monads和fluokitten文档。我还阅读了Jim Duey、Konrad Hinsen和Leonardo Borges的 monad 博客文章。
我能找到的最接近的是Konrad Hinsen 的库 Monadic IO 流- 但这似乎不是“实现 monad 接口”(因为需要更好的措辞)
这是在 Haskell 中使用 ST 的示例
oneST :: ST s Int -- note that this works correctly for any s
oneST = do var <- newSTRef 0
modifySTRef var (+1)
readSTRef var
one :: Int
one = runST oneST
我的问题是:是否可以在 Clojure 中从 Haskell 执行 IO Monad ?你能举个例子吗?