@@ -1,5 +1,8 @@
11{-# LANGUAGE ConstraintKinds #-}
22{-# LANGUAGE ScopedTypeVariables #-}
3+
4+-- | See "Control.Monad.Ether.State.Strict".
5+
36module Control.Monad.Ether.Implicit.State.Strict
47 (
58 -- * MonadState class
@@ -26,46 +29,63 @@ module Control.Monad.Ether.Implicit.State.Strict
2629import Data.Proxy
2730import qualified Control.Monad.Ether.State.Strict as Explicit
2831
32+-- | See 'Control.Monad.Ether.State.Strict.StateT'.
2933type StateT s = Explicit.StateT s s
34+
35+-- | See 'Control.Monad.Ether.State.Strict.State'.
3036type State s = Explicit.State s s
3137
38+-- | See 'Control.Monad.Ether.State.Strict.stateT'.
3239stateT :: (s -> m (a, s)) -> StateT s m a
3340stateT = Explicit.stateT Proxy
3441
42+-- | See 'Control.Monad.Ether.State.Strict.runStateT'.
3543runStateT :: StateT s m a -> s -> m (a, s)
3644runStateT = Explicit.runStateT Proxy
3745
46+-- | See 'Control.Monad.Ether.State.Strict.runState'.
3847runState :: State s a -> s -> (a, s)
3948runState = Explicit.runState Proxy
4049
50+-- | See 'Control.Monad.Ether.State.Strict.evalStateT'.
4151evalStateT :: Monad m => StateT s m a -> s -> m a
4252evalStateT = Explicit.evalStateT Proxy
4353
54+-- | See 'Control.Monad.Ether.State.Strict.evalState'.
4455evalState :: State s a -> s -> a
4556evalState = Explicit.evalState Proxy
4657
58+-- | See 'Control.Monad.Ether.State.Strict.execStateT'.
4759execStateT :: Monad m => StateT s m a -> s -> m s
4860execStateT = Explicit.execStateT Proxy
4961
62+-- | See 'Control.Monad.Ether.State.Strict.execState'.
5063execState :: State s a -> s -> s
5164execState = Explicit.execState Proxy
5265
66+-- | See 'Control.Monad.Ether.State.Strict.mapStateT'.
5367mapStateT :: (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b
5468mapStateT = Explicit.mapStateT Proxy
5569
70+-- | See 'Control.Monad.Ether.State.Strict.MonadState'.
5671type MonadState s = Explicit.MonadState s s
5772
73+-- | See 'Control.Monad.Ether.State.Strict.get'.
5874get :: forall m s . MonadState s m => m s
5975get = Explicit.get (Proxy :: Proxy s)
6076
77+-- | See 'Control.Monad.Ether.State.Strict.gets'.
6178gets :: forall m s a . MonadState s m => (s -> a) -> m a
6279gets = Explicit.gets (Proxy :: Proxy s)
6380
81+-- | See 'Control.Monad.Ether.State.Strict.put'.
6482put :: forall m s . MonadState s m => s -> m ()
6583put = Explicit.put (Proxy :: Proxy s)
6684
85+-- | See 'Control.Monad.Ether.State.Strict.state'.
6786state :: forall m s a . MonadState s m => (s -> (a, s)) -> m a
6887state = Explicit.state (Proxy :: Proxy s)
6988
89+-- | See 'Control.Monad.Ether.State.Strict.modify'.
7090modify :: forall m s . MonadState s m => (s -> s) -> m ()
7191modify = Explicit.modify (Proxy :: Proxy s)