Haskell 哈斯凯尔:MonadState';这是工作吗?

Haskell 哈斯凯尔:MonadState';这是工作吗?,haskell,monads,state-monad,Haskell,Monads,State Monad,()在put的定义中起什么作用 ()是操作的返回值。由于put用于其副作用(更改状态),因此它不会返回任何有用的内容 instance (Monad m) => MonadState s (StateT s m) where get = StateT $ \s -> return (s, s) put s = StateT $ \_ -> return ((), s)

()在put的定义中起什么作用

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

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