2

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 的定义中做了什么?

4

1 回答 1

10

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

于 2012-10-04T22:20:54.990 回答