Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
type InferStateData (l :: k) m = InferStateData' k l m Source #
type family InferStateData' k (l :: k) m where ... Source #
InferStateData' Type l m = l | |
InferStateData' k l m = StateData l m |
type TransStateData l t m = InferStateData l (t m) ~ InferStateData l m Source #
type family MatchedBases (a :: ka) (b :: kb) :: Bool where ... Source #
MatchedBases (a :: k) (b :: k) = a == b | |
MatchedBases (a :: k) (b t :: l) = MatchedBases a b | |
MatchedBases (a :: k) (b :: l) = False |
type MonadStates ss m = (Getters ss m, Setters ss m) Source #
type family Monads__ p ss m :: Constraint where ... Source #
type family TopStateData m where ... Source #
TopStateData (StateT s m) = s | |
TopStateData (t m) = TopStateData m |
type Getter' m = Getter (TopStateData m) m Source #
type Setter' m = Setter (TopStateData m) m Source #
get' :: forall m. Getter' m => m (TopStateData m) Source #
put' :: forall m. Setter' m => TopStateData m -> m () Source #
type InferMonadState s l m = (Monad l m, s ~ InferStateData l m) Source #
modifyM :: forall l s m a. InferMonadState s l m => (s -> m (a, s)) -> m a Source #
modifyM_ :: forall l s m a. InferMonadState s l m => (s -> m s) -> m () Source #
modify :: forall l s m a. InferMonadState s l m => (s -> (a, s)) -> m a Source #
modify_ :: forall l s m a. InferMonadState s l m => (s -> s) -> m () Source #
sub :: forall l s m a. InferMonadState s l m => m a -> m a Source #
with :: forall l s m a. InferMonadState s l m => s -> m a -> m a Source #
withModified :: forall l s m a. InferMonadState s l m => (s -> s) -> m a -> m a Source #
withModifiedM :: forall l s m a. InferMonadState s l m => (s -> m s) -> m a -> m a Source #
type TopMonadState s m = (Monad' m, s ~ TopStateData m) Source #
modifyM' :: forall s m a. TopMonadState s m => (s -> m (a, s)) -> m a Source #
modifyM'_ :: forall s m a. TopMonadState s m => (s -> m s) -> m () Source #
modify' :: forall s m a. TopMonadState s m => (s -> (a, s)) -> m a Source #
modify'_ :: forall s m a. TopMonadState s m => (s -> s) -> m () Source #
sub' :: forall s m a. TopMonadState s m => m a -> m a Source #
with' :: forall s m a. TopMonadState s m => s -> m a -> m a Source #
withModified' :: forall s m a. TopMonadState s m => (s -> s) -> m a -> m a Source #
withModifiedM' :: forall s m a. TopMonadState s m => (s -> m s) -> m a -> m a Source #