我看過algo.monads和fluokitten文檔。我還閱讀了通過Jim Duey,Konrad Hinsen和Leonardo Borges monad博客條目。是否有可能在Clojure中從Haskell做IO monad?
我能找到的最接近的是Konrad Hinsen's library Monadic IO streams - 但這似乎並沒有「實施單子接口」(一個更好的措辭想要的)
這是例如在Haskell
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
使用ST
我的問題是:是否可以在Clojure中做IO Monad from Haskell?你能提供一個例子嗎?
Clojure不是動態類型語言嗎?那麼像IO或ST這樣的單子有什麼好處呢?拋出非法操作的例外情況?採取這種做法可能比在程序流程後期處理非法操作的影響更好。 – ziggystar
您希望在Clojure中重用的Haskell'IO'的具體功能是什麼? –
是的,這是可能的。 – augustss