Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Profunctor.Composition
Synopsis
- data ((p :: PRO i j) :.: (q :: PRO j k)) (a :: i) (c :: k) where
- bimapComp :: forall {i} {j} {k} (a :: PRO i j) (b :: PRO i j) (c :: PRO j k) (d :: PRO j k). (a ~> b) -> (c ~> d) -> (a :.: c) ~> (b :.: d)
- o :: forall {i} {j} {k} (p :: PRO i j) (q :: PRO i j) (r :: PRO j k) (s :: PRO j k). Prof p q -> Prof r s -> Prof (p :.: r) (q :.: s)
Documentation
data ((p :: PRO i j) :.: (q :: PRO j k)) (a :: i) (c :: k) where Source Comments #
Constructors
(:.:) :: forall {i} {j} {k} (p :: PRO i j) (a :: i) (b :: j) (q :: PRO j k) (c :: k). p a b -> q b c -> (p :.: q) a c |
Instances
(MonoidalProfunctor p, MonoidalProfunctor q) => MonoidalProfunctor (p :.: q :: j1 -> k -> Type) Source Comments # | |
(Profunctor p, Profunctor q) => Profunctor (p :.: q :: j1 -> k -> Type) Source Comments # | |
(Corepresentable p, Corepresentable q) => Corepresentable (p :.: q :: j1 -> k -> Type) Source Comments # | |
Defined in Proarrow.Profunctor.Composition Methods coindex :: forall (a :: j1) (b :: k). (p :.: q) a b -> ((p :.: q) %% a) ~> b Source Comments # cotabulate :: forall (a :: j1) (b :: k). Ob a => (((p :.: q) %% a) ~> b) -> (p :.: q) a b Source Comments # corepMap :: forall (a :: j1) (b :: j1). (a ~> b) -> ((p :.: q) %% a) ~> ((p :.: q) %% b) Source Comments # | |
(Representable p, Representable q) => Representable (p :.: q :: j1 -> k -> Type) Source Comments # | |
Defined in Proarrow.Profunctor.Composition Methods index :: forall (a :: j1) (b :: k). (p :.: q) a b -> a ~> ((p :.: q) % b) Source Comments # tabulate :: forall (b :: k) (a :: j1). Ob b => (a ~> ((p :.: q) % b)) -> (p :.: q) a b Source Comments # repMap :: forall (a :: k) (b :: k). (a ~> b) -> ((p :.: q) % a) ~> ((p :.: q) % b) Source Comments # | |
(Adjunction l1 r1, Adjunction l2 r2) => Adjunction (l1 :.: l2 :: k -> i -> Type) (r2 :.: r1 :: i -> k -> Type) Source Comments # | |
Adjunction p q => Promonad (q :.: p :: k -> k -> Type) Source Comments # | |
Functor ((:.:) :: PRO i j -> PRO j k -> i -> k -> Type) Source Comments # | |
Profunctor j2 => Adjunction (Star ((:.:) j2 :: PRO j1 k -> i -> k -> Type) :: (i -> k -> Type) -> PRO j1 k -> Type) (Star (Ran ('OP j2) :: PRO i k -> j1 -> k -> Type) :: (j1 -> k -> Type) -> PRO i k -> Type) Source Comments # | |
Defined in Proarrow.Profunctor.Ran Methods unit :: forall (a :: PRO j1 k). Ob a => (Star (Ran ('OP j2) :: PRO i k -> j1 -> k -> Type) :.: Star ((:.:) j2 :: PRO j1 k -> i -> k -> Type)) a a Source Comments # counit :: (Star ((:.:) j2 :: PRO j1 k -> i -> k -> Type) :.: Star (Ran ('OP j2) :: PRO i k -> j1 -> k -> Type)) :~> ((~>) :: CAT (i -> k -> Type)) Source Comments # | |
Profunctor p => Functor ((:.:) p :: PRO j k -> i -> k -> Type) Source Comments # | |
type (p :.: q :: j1 -> k -> Type) %% (a :: j1) Source Comments # | |
type (p :.: q :: j1 -> k -> Type) % (a :: k) Source Comments # | |