monadology-0.4: The best ideas in monad-related classes and types.
Safe HaskellNone
LanguageGHC2021

Control.Monad.Ology.General.Function

Synopsis

Documentation

type TransKind = (Type -> Type) -> Type -> Type Source #

Raised

type Raised (p :: k -> Type) (q :: k -> Type) = forall (a :: k). p a -> q a Source #

type (-->) (p :: k -> Type) (q :: k -> Type) = Raised p q Source #

newtype WRaised (p :: k -> Type) (q :: k -> Type) Source #

Constructors

MkWRaised 

Fields

Instances

Instances details
Category (WRaised :: (k -> Type) -> (k -> Type) -> Type) Source # 
Instance details

Defined in Control.Monad.Ology.General.Function

Methods

id :: forall (a :: k -> Type). WRaised a a #

(.) :: forall (b :: k -> Type) (c :: k -> Type) (a :: k -> Type). WRaised b c -> WRaised a b -> WRaised a c #

wLift :: forall (t :: (Type -> Type) -> Type -> Type) (m :: Type -> Type). (MonadTrans t, Monad m) => WRaised m (t m) Source #

wLiftIO :: forall (m :: Type -> Type). MonadIO m => WRaised IO m Source #

Backraised

type Backraised (ma :: k -> Type) (mb :: k -> Type) = forall (r :: k). ((mb --> ma) -> ma r) -> mb r Source #

type (-/->) (ma :: k -> Type) (mb :: k -> Type) = Backraised ma mb Source #

backraisedToRaised :: forall {k} (ma :: k -> Type) (mb :: k -> Type). (ma -/-> mb) -> ma --> mb Source #

newtype WBackraised (p :: k -> Type) (q :: k -> Type) Source #

Constructors

MkWBackraised 

Fields

Instances

Instances details
Category (WBackraised :: (k -> Type) -> (k -> Type) -> Type) Source # 
Instance details

Defined in Control.Monad.Ology.General.Function

Methods

id :: forall (a :: k -> Type). WBackraised a a #

(.) :: forall (b :: k -> Type) (c :: k -> Type) (a :: k -> Type). WBackraised b c -> WBackraised a b -> WBackraised a c #

wBackraisedToWRaised :: forall {k} (ma :: k -> Type) (mb :: k -> Type). WBackraised ma mb -> WRaised ma mb Source #

Unlift

type Unlift (c :: (Type -> Type) -> Constraint) (t :: TransKind) = forall (m :: Type -> Type). c m => t m --> m Source #

newtype WUnlift (c :: (Type -> Type) -> Constraint) (t :: TransKind) Source #

Constructors

MkWUnlift 

Fields

wUnliftToWRaised :: forall (c :: (Type -> Type) -> Constraint) (m :: Type -> Type) (t :: TransKind). c m => WUnlift c t -> WRaised (t m) m Source #

Extract

type Extract (m :: Type -> Type) = forall a. m a -> a Source #

newtype WExtract (m :: Type -> Type) Source #

Constructors

MkWExtract 

Fields