Hoogle Search

Within LTS Haskell 24.4 (ghc-9.10.2)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. module Control.Monad.Trans.MultiState

    The multi-valued version of mtl's State / StateT / MonadState

  2. class MonadMultiGet a m => MonadMultiState a (m :: Type -> Type)

    multistate Control.Monad.Trans.MultiState

    No documentation available.

  3. type MultiState (x :: [Type]) = MultiStateT x Identity

    multistate Control.Monad.Trans.MultiState

    A state monad parameterized by the list of types x of the state to carry. Similar to State s = StateT s Identity

  4. newtype MultiStateT (x :: [Type]) (m :: Type -> Type) a

    multistate Control.Monad.Trans.MultiState

    A State transformer monad patameterized by:

    • x - The list of types constituting the state,
    • m - The inner monad.
    MultiStateT corresponds to mtl's StateT, but can contain a heterogenous list of types. This heterogenous list is represented using Types.Data.List, i.e:
    • '[] - The empty list,
    • a ': b - A list where a is an arbitrary type and b is the rest list.
    For example,
    MultiStateT '[Int, Bool] :: (* -> *) -> (* -> *)
    
    is a State wrapper containing the types [Int, Bool].

  5. MultiStateT :: StateT (HList x) m a -> MultiStateT (x :: [Type]) (m :: Type -> Type) a

    multistate Control.Monad.Trans.MultiState

    No documentation available.

  6. inflateState :: forall (m :: Type -> Type) s (ss :: [Type]) a . (Monad m, ContainsType s ss) => StateT s m a -> MultiStateT ss m a

    multistate Control.Monad.Trans.MultiState

    No documentation available.

  7. mapMultiStateT :: forall m a (w :: [Type]) m' a' . (m (a, HList w) -> m' (a', HList w)) -> MultiStateT w m a -> MultiStateT w m' a'

    multistate Control.Monad.Trans.MultiState

    Map both the return value and the state of a computation using the given function.

  8. runMultiStateT :: forall m (s :: [Type]) a . Functor m => HList s -> MultiStateT s m a -> m (a, HList s)

    multistate Control.Monad.Trans.MultiState

    No documentation available.

  9. runMultiStateTA :: forall m (s :: [Type]) a . Monad m => HList s -> MultiStateT s m a -> m a

    multistate Control.Monad.Trans.MultiState

    No documentation available.

  10. runMultiStateTAS :: forall m (s :: [Type]) a . Functor m => HList s -> MultiStateT s m a -> m (a, HList s)

    multistate Control.Monad.Trans.MultiState

    No documentation available.

Page 27 of many | Previous | Next