Question

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?

Was it helpful?

Solution

The () is the return value of the action. Since put is used for its side effect (change state), it doesn't return anything useful.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top