Control.Monad.State.Profunctor.IxState
newtype IxStateT f t s a Source #
Constructors
Defined in Control.Monad.State.Profunctor.IxState
Methods
id :: forall (a :: k). IxStateT f t a a #
(.) :: forall (b :: k) (c :: k) (a :: k). IxStateT f t b c -> IxStateT f t a b -> IxStateT f t a c #
o :: forall (j :: k) (k1 :: k) (i :: k). IxStateT f t j k1 -> IxStateT f t i j -> IxStateT f t i k1 #
throwError :: r -> IxStateT f s s a #
catchError :: IxStateT f s s a -> (r -> IxStateT f s s a) -> IxStateT f s s a #
ask :: IxStateT f s s r #
local :: (r -> r) -> IxStateT f s s a -> IxStateT f s s a #
reader :: (r -> a) -> IxStateT f s s a #
get :: IxStateT f s s s #
put :: s -> IxStateT f s s () #
state :: (s -> (a, s)) -> IxStateT f s s a #
writer :: (a, r) -> IxStateT f s s a #
tell :: r -> IxStateT f s s () #
listen :: IxStateT f s s a -> IxStateT f s s (a, r) #
pass :: IxStateT f s s (a, r -> r) -> IxStateT f s s a #
left' :: IxStateT f t a b -> IxStateT f t (Either a c) (Either b c) #
right' :: IxStateT f t a b -> IxStateT f t (Either c a) (Either c b) #
first' :: IxStateT f t a b -> IxStateT f t (a, c) (b, c) #
second' :: IxStateT f t a b -> IxStateT f t (c, a) (c, b) #
dimap :: (a -> b) -> (c -> d) -> IxStateT f t b c -> IxStateT f t a d #
lmap :: (a -> b) -> IxStateT f t b c -> IxStateT f t a c #
rmap :: (b -> c) -> IxStateT f t a b -> IxStateT f t a c #
(#.) :: forall a b c q. Coercible c b => q b c -> IxStateT f t a b -> IxStateT f t a c #
(.#) :: forall a b c q. Coercible b a => IxStateT f t b c -> q a b -> IxStateT f t a c #
mfix :: (a -> IxStateT f s s a) -> IxStateT f s s a #
liftIO :: IO a -> IxStateT f s s a #
pure :: a -> IxStateT f s s a #
(<*>) :: IxStateT f s s (a -> b) -> IxStateT f s s a -> IxStateT f s s b #
liftA2 :: (a -> b -> c) -> IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s c #
(*>) :: IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s b #
(<*) :: IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s a #
fmap :: (a -> b) -> IxStateT f t s a -> IxStateT f t s b #
(<$) :: a -> IxStateT f t s b -> IxStateT f t s a #
(>>=) :: IxStateT f s s a -> (a -> IxStateT f s s b) -> IxStateT f s s b #
(>>) :: IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s b #
return :: a -> IxStateT f s s a #
callCC :: ((a -> IxStateT f s s b) -> IxStateT f s s a) -> IxStateT f s s a #
(<.>) :: IxStateT f s s (a -> b) -> IxStateT f s s a -> IxStateT f s s b #
(.>) :: IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s b #
(<.) :: IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s a #
liftF2 :: (a -> b -> c) -> IxStateT f s s a -> IxStateT f s s b -> IxStateT f s s c #
(>>-) :: IxStateT f s s a -> (a -> IxStateT f s s b) -> IxStateT f s s b #
join :: IxStateT f s s (IxStateT f s s a) -> IxStateT f s s a #
Associated Types
type Unwrapped (IxStateT f t s a) #
_Wrapped' :: Iso' (IxStateT f t s a) (Unwrapped (IxStateT f t s a)) #
type IxState t s a = IxStateT Identity t s a Source #
ixState :: Iso (IxState t s a) (IxState t s a) (s -> (a, t)) (s -> (a, t)) Source #
swap :: (Functor f, Functor f') => Iso (IxStateT f t s a) (IxStateT f' t' s' a') (IxStateT f a s t) (IxStateT f' a' s' t') Source #
lift :: Functor f => f a -> IxStateT f s s a Source #