proarrow-0: Category theory with a central role for profunctors
Safe HaskellNone
LanguageHaskell2010

Proarrow.Promonad.Cont

Documentation

newtype Cont r a b Source Comments #

Constructors

Cont 

Fields

Instances

Instances details
Strong Type (Cont r :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Cont

Methods

act :: (a ~> b) -> Cont r x y -> Cont r (Act a x) (Act b y) Source Comments #

Profunctor (Cont r :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Cont

Methods

dimap :: (c ~> a) -> (b ~> d) -> Cont r a b -> Cont r c d Source Comments #

(\\) :: ((Ob a, Ob b) => r0) -> Cont r a b -> r0 Source Comments #

Promonad (Cont r :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Cont

Methods

id :: Ob a => Cont r a a Source Comments #

(.) :: Cont r b c -> Cont r a b -> Cont r a c Source Comments #

StarAutonomous (KLEISLI (Cont r)) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Cont

Methods

dual :: forall (a :: KLEISLI (Cont r)) (b :: KLEISLI (Cont r)). (a ~> b) -> Dual b ~> Dual a Source Comments #

dualInv :: forall (a :: KLEISLI (Cont r)) (b :: KLEISLI (Cont r)). (Ob a, Ob b) => (Dual a ~> Dual b) -> b ~> a Source Comments #

linDist :: forall (a :: KLEISLI (Cont r)) (b :: KLEISLI (Cont r)) (c :: KLEISLI (Cont r)). (Ob a, Ob b, Ob c) => ((a ** b) ~> Dual c) -> a ~> Dual (b ** c) Source Comments #

linDistInv :: forall (a :: KLEISLI (Cont r)) (b :: KLEISLI (Cont r)) (c :: KLEISLI (Cont r)). (Ob a, Ob b, Ob c) => (a ~> Dual (b ** c)) -> (a ** b) ~> Dual c Source Comments #

Closed (KLEISLI (Cont r)) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Cont

Methods

curry' :: forall (a :: KLEISLI (Cont r)) (b :: KLEISLI (Cont r)) (c :: KLEISLI (Cont r)). Obj a -> Obj b -> ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments #

uncurry' :: forall (b :: KLEISLI (Cont r)) (c :: KLEISLI (Cont r)) (a :: KLEISLI (Cont r)). Obj b -> Obj c -> (a ~> (b ~~> c)) -> (a ** b) ~> c Source Comments #

(^^^) :: forall (b :: KLEISLI (Cont r)) (y :: KLEISLI (Cont r)) (x :: KLEISLI (Cont r)) (a :: KLEISLI (Cont r)). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments #

type (a :: KLEISLI (Cont r)) ~~> (b :: KLEISLI (Cont r)) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Cont

type (a :: KLEISLI (Cont r)) ~~> (b :: KLEISLI (Cont r)) = ExpSA a b
type Dual ('KL a :: KLEISLI (Cont r)) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Cont

type Dual ('KL a :: KLEISLI (Cont r)) = 'KL (a -> r) :: KLEISLI (Cont r)