Safe Haskell | Safe-Inferred |
---|
This module provides the proxy transformer equivalent of StateT
.
- newtype StateP s p a' a b' b m r = StateP {
- unStateP :: s -> p (a', s) (a, s) (b', s) (b, s) m (r, s)
- state :: (Monad m, Proxy p) => (s -> (r, s)) -> StateP s p a' a b' b m r
- stateT :: (Monad m, Proxy p) => (s -> m (r, s)) -> StateP s p a' a b' b m r
- runStateP :: (Monad m, Proxy p) => s -> StateP s p a' a b' b m r -> p a' a b' b m (r, s)
- runStateK :: (Monad m, Proxy p) => s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m (r, s)
- evalStateP :: (Monad m, Proxy p) => s -> StateP s p a' a b' b m r -> p a' a b' b m r
- evalStateK :: (Monad m, Proxy p) => s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m r
- execStateP :: (Monad m, Proxy p) => s -> StateP s p a' a b' b m r -> p a' a b' b m s
- execStateK :: (Monad m, Proxy p) => s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m s
- get :: (Monad m, Proxy p) => StateP s p a' a b' b m s
- put :: (Monad m, Proxy p) => s -> StateP s p a' a b' b m ()
- modify :: (Monad m, Proxy p) => (s -> s) -> StateP s p a' a b' b m ()
- gets :: (Monad m, Proxy p) => (s -> r) -> StateP s p a' a b' b m r
StateP
newtype StateP s p a' a b' b m r Source
The State
proxy transformer
ProxyTrans (StateP s) | |
PFunctor (StateP s) | |
MonadPlusP p => MonadPlusP (StateP s p) | |
Proxy p => ProxyInternal (StateP s p) | |
Proxy p => Proxy (StateP s p) | |
Proxy p => MFunctor (StateP s p a' a b' b) | |
Proxy p => MonadTrans (StateP s p a' a b' b) | |
(Monad m, Proxy p) => Monad (StateP s p a' a b' b m) | |
(Monad m, Proxy p) => Functor (StateP s p a' a b' b m) | |
(Monad m, MonadPlusP p) => MonadPlus (StateP s p a' a b' b m) | |
(Monad m, Proxy p) => Applicative (StateP s p a' a b' b m) | |
(Monad m, MonadPlusP p) => Alternative (StateP s p a' a b' b m) | |
(MonadIO m, Proxy p) => MonadIO (StateP s p a' a b' b m) |
state :: (Monad m, Proxy p) => (s -> (r, s)) -> StateP s p a' a b' b m rSource
Convert a State to a StateP
stateT :: (Monad m, Proxy p) => (s -> m (r, s)) -> StateP s p a' a b' b m rSource
Convert a StateT to a StateP
runStateP :: (Monad m, Proxy p) => s -> StateP s p a' a b' b m r -> p a' a b' b m (r, s)Source
Run a StateP
computation, producing the final result and state
runStateK :: (Monad m, Proxy p) => s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m (r, s)Source
Run a StateP
'K
'leisli arrow, procuding the final result and state
evalStateP :: (Monad m, Proxy p) => s -> StateP s p a' a b' b m r -> p a' a b' b m rSource
Evaluate a StateP
computation, but discard the final state
evalStateK :: (Monad m, Proxy p) => s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m rSource
Evaluate a StateP
'K
'leisli arrow, but discard the final state
execStateP :: (Monad m, Proxy p) => s -> StateP s p a' a b' b m r -> p a' a b' b m sSource
Evaluate a StateP
computation, but discard the final result
execStateK :: (Monad m, Proxy p) => s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m sSource
Evaluate a StateP
'K
'leisli arrow, but discard the final result