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的定义中做了什么?
答案 0 :(得分:10)
()是动作的返回值。由于put
用于其副作用(更改状态),因此它不会返回任何有用的内容。