标签: haskell io monads state
基本上,我想要的是:
stateIO :: (s -> IO (a, s)) -> StateT s IO a stateIO f = do r <- get (a, r') <- liftIO $ f r put r' return a
我尝试使用state,但内部liftIO存在问题。有没有其他方法可以更聪明,没有手动元组拆包?
state
liftIO
答案 0 :(得分:2)
stateIO = StateT
(也许应用于避免单态限制)。