magic-haskell
magic-haskell copied to clipboard
p251 StateT单子转换
第2段文字 这也反映了单子变换的一个特点:单子变换可以隔离不同层次的操作,底层的单子上下文和外层的可以互相隔离。? 能否再就书上这几个例子,就前面这段话再阐明一下?
这段话的意思主要体现在 lift :: (Monad m, MonadTrans t) => m a -> t m a 这个函数上,比如说我们有一个StateT s1 (StateT s2 IO) Int 的值,那么 modify 和 lift . modify 操作的分别是 s1 和 s2 类型的状态。