Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Handling monad transformers.
Synopsis
- runStateC :: (Data stateT, Monad m) => Cell (StateT stateT m) a b -> stateT -> Cell m a (b, stateT)
- runStateC_ :: (Data stateT, Monad m) => Cell (StateT stateT m) a b -> stateT -> Cell m a b
- data State stateT stateInternal = State {
- stateT :: stateT
- stateInternal :: stateInternal
- runReaderC :: r -> Cell (ReaderT r m) a b -> Cell m a b
- runReaderC' :: Monad m => Cell (ReaderT r m) a b -> Cell m (r, a) b
- runWriterC :: (Monoid w, Monad m) => Cell (WriterT w m) a b -> Cell m a (w, b)
Documentation
:: (Data stateT, Monad m) | |
=> Cell (StateT stateT m) a b | A cell with a state effect |
-> stateT | The initial state |
-> Cell m a (b, stateT) | The cell, returning its current state |
Push effectful state into the internal state of a cell
:: (Data stateT, Monad m) | |
=> Cell (StateT stateT m) a b | A cell with a state effect |
-> stateT | The initial state |
-> Cell m a b |
Like runStateC
, but does not return the current state.
data State stateT stateInternal Source #
The internal state of a cell to which runStateC
or runStateL
has been applied.
State | |
|
Instances
(Eq stateT, Eq stateInternal) => Eq (State stateT stateInternal) Source # | |
(Data stateT, Data stateInternal) => Data (State stateT stateInternal) Source # | |
Defined in LiveCoding.Cell.Monad.Trans gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> State stateT stateInternal -> c (State stateT stateInternal) # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (State stateT stateInternal) # toConstr :: State stateT stateInternal -> Constr # dataTypeOf :: State stateT stateInternal -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (State stateT stateInternal)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (State stateT stateInternal)) # gmapT :: (forall b. Data b => b -> b) -> State stateT stateInternal -> State stateT stateInternal # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> State stateT stateInternal -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> State stateT stateInternal -> r # gmapQ :: (forall d. Data d => d -> u) -> State stateT stateInternal -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> State stateT stateInternal -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> State stateT stateInternal -> m (State stateT stateInternal) # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> State stateT stateInternal -> m (State stateT stateInternal) # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> State stateT stateInternal -> m (State stateT stateInternal) # | |
(Show stateT, Show stateInternal) => Show (State stateT stateInternal) Source # | |
runReaderC :: r -> Cell (ReaderT r m) a b -> Cell m a b Source #
Supply a ReaderT
environment before running the cell