Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
newtype ((t₁ :: (★ -> ★) -> ★ -> ★) ⊡ (t₂ :: (★ -> ★) -> ★ -> ★)) m a infixl 7 Source #
Compose2 | |
|
Instances
(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftDelay t₁, LiftDelay t₂) => LiftDelay (t₁ ⊡ t₂ :: (Type -> Type) -> Type -> Type) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftError t₁, LiftError t₂) => LiftError (t₁ ⊡ t₂ :: (Type -> Type) -> Type -> Type) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftFail t₁, LiftFail t₂) => LiftFail (t₁ ⊡ t₂ :: (Type -> Type) -> Type -> Type) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftNondet t₁, LiftNondet t₂) => LiftNondet (t₁ ⊡ t₂ :: (Type -> Type) -> Type -> Type) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftTop t₁, LiftTop t₂) => LiftTop (t₁ ⊡ t₂ :: (Type -> Type) -> Type -> Type) Source # | |
(Functor2 t₁, Functor2 t₂) => Functor2 (t₁ ⊡ t₂) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftCont t₁, LiftCont t₂) => LiftCont (t₁ ⊡ t₂) Source # | |
Defined in UVMHS.Core.Transformers | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftIO t₁, LiftIO t₂) => LiftIO (t₁ ⊡ t₂) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftReader t₁, LiftReader t₂) => LiftReader (t₁ ⊡ t₂) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftState t₁, LiftState t₂) => LiftState (t₁ ⊡ t₂) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), LiftWriter t₁, LiftWriter t₂) => LiftWriter (t₁ ⊡ t₂) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₁ m'), forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), Monad m) => Bind ((t₁ ⊡ t₂) m) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₁ m'), forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), Monad m) => Functor ((t₁ ⊡ t₂) m) Source # | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₁ m'), forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), Monad m) => Monad ((t₁ ⊡ t₂) m) Source # | |
Defined in UVMHS.Core.Transformers | |
(forall (m' :: Type -> Type). Monad m' => Monad (t₁ m'), forall (m' :: Type -> Type). Monad m' => Monad (t₂ m'), Monad m) => Return ((t₁ ⊡ t₂) m) Source # | |
Defined in UVMHS.Core.Transformers | |
(RWST r o s) ⇄⁼ (((ReaderT r :: (Type -> Type) -> Type -> Type) ⊡ WriterT o) ⊡ StateT s) Source # | |
deriveLiftIO :: forall t₁ t₂ m. (Monad m, t₁ ⇄⁼ t₂, LiftIO t₂) => (forall a. IO a -> m a) -> forall a. IO a -> t₁ m a Source #
deriveLiftAskL :: forall t₁ t₂ m r. (Monad m, t₁ ⇄⁼ t₂, LiftReader t₂) => (forall r'. (r ⟢ r') -> m r') -> forall r'. (r ⟢ r') -> t₁ m r' Source #
deriveLiftLocalL :: forall t₁ t₂ m r. (Monad m, t₁ ⇄⁼ t₂, LiftReader t₂) => (forall r' a. (r ⟢ r') -> r' -> m a -> m a) -> forall r' a. (r ⟢ r') -> r' -> t₁ m a -> t₁ m a Source #
deriveLiftTell :: forall t₁ t₂ m o. (Monad m, t₁ ⇄⁼ t₂, LiftWriter t₂) => (o -> m ()) -> o -> t₁ m () Source #
deriveLiftHijack :: forall t₁ t₂ m o. (Monad m, t₁ ⇄⁼ t₂, LiftWriter t₂) => (forall a. m a -> m (o ∧ a)) -> forall a. t₁ m a -> t₁ m (o ∧ a) Source #
deriveLiftPut :: forall t₁ t₂ m s. (Monad m, t₁ ⇄⁼ t₂, LiftState t₂) => (s -> m ()) -> s -> t₁ m () Source #
deriveLiftAbort :: forall t₁ t₂ m. (Monad m, t₁ ⇄⁼ t₂, LiftFail t₂) => (forall a. m a) -> forall a. t₁ m a Source #
deriveLiftTry :: forall t₁ t₂ m. (Monad m, t₁ ⇄⁼ t₂, LiftFail t₂) => (forall a. m a -> m a -> m a) -> forall a. t₁ m a -> t₁ m a -> t₁ m a Source #
deriveLiftThrow :: forall t₁ t₂ m e. (Monad m, t₁ ⇄⁼ t₂, LiftError t₂) => (forall a. e -> m a) -> forall a. e -> t₁ m a Source #
deriveLiftCatch :: forall t₁ t₂ m e. (Monad m, t₁ ⇄⁼ t₂, LiftError t₂) => (forall a. m a -> (e -> m a) -> m a) -> forall a. t₁ m a -> (e -> t₁ m a) -> t₁ m a Source #
deriveLiftDelay :: forall t₁ t₂ m. (Monad m, t₁ ⇄⁼ t₂, LiftDelay t₂) => (forall a. (() -> m a) -> m a) -> forall a. (() -> t₁ m a) -> t₁ m a Source #
deriveLiftMzero :: forall t₁ t₂ m. (Monad m, t₁ ⇄⁼ t₂, LiftNondet t₂) => (forall a. m a) -> forall a. t₁ m a Source #
deriveLiftMplus :: forall t₁ t₂ m. (Monad m, t₁ ⇄⁼ t₂, LiftNondet t₂) => (forall a. m a -> m a -> m a) -> forall a. t₁ m a -> t₁ m a -> t₁ m a Source #
deriveLiftMtop :: forall t₁ t₂ m. (Monad m, t₁ ⇄⁼ t₂, LiftTop t₂) => (forall a. m a) -> forall a. t₁ m a Source #