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 に答える