Haskell:MonadState如何运作?

时间:2012-10-04 22:17:30

标签: haskell monads state-monad

http://hackage.haskell.org/packages/archive/mtl/1.1.0.2/doc/html/src/Control-Monad-State-Lazy.html

instance (Monad m) => MonadState s (StateT s m) where
    get   = StateT $ \s -> return (s, s)
    put s = StateT $ \_ -> return ((), s)

()在put的定义中做了什么?

1 个答案:

答案 0 :(得分:10)

()是动作的返回值。由于put用于其副作用(更改状态),因此它不会返回任何有用的内容。