| Safe Haskell | Safe |
|---|---|
| Language | Haskell98 |
Control.Proxy.Trans.State
Contents
Description
This module provides the proxy transformer equivalent of StateT.
- newtype StateP s p a' a b' b m r = StateP {
- unStateP :: s -> p a' a b' b m (r, s)
- runStateP :: s -> StateP s p a' a b' b m r -> p a' a b' b m (r, s)
- runStateK :: s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m (r, s)
- evalStateP :: (Proxy p, Monad m) => s -> StateP s p a' a b' b m r -> p a' a b' b m r
- evalStateK :: (Proxy p, Monad m) => s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m r
- execStateP :: (Proxy p, Monad m) => s -> StateP s p a' a b' b m r -> p a' a b' b m s
- execStateK :: (Proxy p, Monad m) => s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m s
- get :: (Proxy p, Monad m) => StateP s p a' a b' b m s
- put :: (Proxy p, Monad m) => s -> StateP s p a' a b' b m ()
- modify :: (Proxy p, Monad m) => (s -> s) -> StateP s p a' a b' b m ()
- gets :: (Proxy p, Monad m) => (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
Instances
| ProxyTrans (StateP s) Source # | |
| PFunctor (StateP s) Source # | |
| MonadIOP p => MonadIOP (StateP s p) Source # | |
| MonadPlusP p => MonadPlusP (StateP s p) Source # | |
| Proxy p => Proxy (StateP s p) Source # | |
| Proxy p => MonadTrans (StateP s p a' a b' b) Source # | |
| Proxy p => MFunctor (StateP s p a' a b' b) Source # | |
| (Proxy p, Monad m) => Monad (StateP s p a' a b' b m) Source # | |
| (Proxy p, Monad m) => Functor (StateP s p a' a b' b m) Source # | |
| (Proxy p, Monad m) => Applicative (StateP s p a' a b' b m) Source # | |
| (MonadIOP p, MonadIO m) => MonadIO (StateP s p a' a b' b m) Source # | |
| (MonadPlusP p, Monad m) => Alternative (StateP s p a' a b' b m) Source # | |
| (MonadPlusP p, Monad m) => MonadPlus (StateP s p a' a b' b m) Source # | |
runStateP :: 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 :: 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 :: (Proxy p, Monad m) => s -> StateP s p a' a b' b m r -> p a' a b' b m r Source #
Evaluate a StateP computation, but discard the final state
evalStateK :: (Proxy p, Monad m) => s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m r Source #
Evaluate a StateP 'K'leisli arrow, but discard the final state
execStateP :: (Proxy p, Monad m) => s -> StateP s p a' a b' b m r -> p a' a b' b m s Source #
Evaluate a StateP computation, but discard the final result
execStateK :: (Proxy p, Monad m) => s -> (q -> StateP s p a' a b' b m r) -> q -> p a' a b' b m s Source #
Evaluate a StateP 'K'leisli arrow, but discard the final result