【发布时间】:2015-04-11 09:21:07
【问题描述】:
基本上,我想要的是这样的:
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 有问题。是否有另一种更聪明的方法,无需手动解包?
【问题讨论】:
-
这不只是
StateT构造函数的特化吗? -
@bisserlis 啊哈,我认为你是对的