Reputation: 489
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)
What does the () do in the definition of put?
Upvotes: 2
Views: 200
Reputation: 1193
The () is the return value of the action. Since put
is used for its side effect (change state), it doesn't return anything useful.
Upvotes: 10