pandora-0.5.5: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Paradigm.Controlflow.Effect.Adaptable

Documentation

class Adaptable u m t where Source #

Methods

adapt :: (m < t a) < u a Source #

Instances

Instances details
Category m => Adaptable (t :: k -> Type) (m :: Type -> Type -> Type) (t :: k -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: forall (a :: k0). (m < t a) < t a Source #

Effectful m v t u => Adaptable (t :> u :: Type -> Type) (m :: k -> Type -> Type) (v :: Type -> k) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

adapt :: forall (a :: k0). (m < v a) < (t :> u) a Source #

class Effectful m v t u where Source #

Methods

effect :: m (v a) ((t :> u) >>> a) Source #

Instances

Instances details
(Semigroupoid m, Effectful m u t u, Adaptable u m v) => Effectful (m :: Type -> Type -> Type) (v :: Type -> Type) t u Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

effect :: m (v a) ((t :> u) >>> a) Source #

(Covariant m m u, Liftable m ((:>) t)) => Effectful (m :: Type -> Type -> Type) (u :: Type -> Type) t u Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

effect :: m (u a) ((t :> u) >>> a) Source #

(Pointable u, Monadic m t) => Effectful (m :: Type -> Type -> Type) (t :: Type -> Type) t u Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Adaptable

Methods

effect :: m (t a) ((t :> u) >>> a) Source #