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

Proarrow.Category.Enriched.Bipara

Documentation

data BIPARAK k (ext :: ()) where Source Comments #

Constructors

BIPARA :: forall k (ext :: ()). k -> BIPARAK k ext 

Instances

Instances details
SymMonoidal k => ECategory (BIPARAK k :: () -> Kind) Source Comments #

Bipara as a profunctor enriched category.

Instance details

Defined in Proarrow.Category.Enriched.Bipara

Methods

eid :: forall (exta :: ()) (a :: BIPARAK k exta). EOb a => (I :: V (BIPARAK k) exta exta) ~> (a %~> a) Source Comments #

ecomp :: forall (exta :: ()) (a :: BIPARAK k exta) (extb :: ()) (b :: BIPARAK k extb) (extc :: ()) (c :: BIPARAK k extc). (EOb a, EOb b, EOb c) => O (a %~> b) (b %~> c) ~> (a %~> c) Source Comments #

type V (BIPARAK k :: () -> Kind) Source Comments # 
Instance details

Defined in Proarrow.Category.Enriched.Bipara

type V (BIPARAK k :: () -> Kind) = MonK (PRO k k)
type EOb (a :: BIPARAK k i) Source Comments # 
Instance details

Defined in Proarrow.Category.Enriched.Bipara

type EOb (a :: BIPARAK k i) = (Is ('BIPARA :: k -> BIPARAK k i) a, Ob (UN ('BIPARA :: k -> BIPARAK k i) a))
type Arr (MonK (PRO k k) :: () -> () -> Type) ('BIPARA a :: BIPARAK k exta) ('BIPARA b :: BIPARAK k extb) Source Comments # 
Instance details

Defined in Proarrow.Category.Enriched.Bipara

type Arr (MonK (PRO k k) :: () -> () -> Type) ('BIPARA a :: BIPARAK k exta) ('BIPARA b :: BIPARAK k extb) = 'MK (Bipara a b) :: MonK (k -> k -> Type) exta extb
type UN ('BIPARA :: j -> BIPARAK j i) ('BIPARA a :: BIPARAK j i) Source Comments # 
Instance details

Defined in Proarrow.Category.Enriched.Bipara

type UN ('BIPARA :: j -> BIPARAK j i) ('BIPARA a :: BIPARAK j i) = a

data Bipara (a :: k) (b :: k) (p :: k) (q :: k) where Source Comments #

Constructors

Bipara :: forall {k} (p :: k) (q :: k) (a :: k) (b :: k). (Ob p, Ob q) => ((a ** p) ~> (q ** b)) -> Bipara a b p q 

Instances

Instances details
(Monoidal k, Ob a, Ob b) => Profunctor (Bipara a b :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Enriched.Bipara

Methods

dimap :: forall (c :: k) (a0 :: k) (b0 :: k) (d :: k). (c ~> a0) -> (b0 ~> d) -> Bipara a b a0 b0 -> Bipara a b c d Source Comments #

(\\) :: forall (a0 :: k) (b0 :: k) r. ((Ob a0, Ob b0) => r) -> Bipara a b a0 b0 -> r Source Comments #