Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proarrow.Profunctor.Exponential
Contents
Documentation
data ((p :: k -> k1 -> Type) :~>: (q :: k -> k1 -> Type)) (a :: k) (b :: k1) where Source Comments #
Constructors
Exp :: forall {k} {k1} (a :: k) (b :: k1) (p :: k -> k1 -> Type) (q :: k -> k1 -> Type). (Ob a, Ob b) => (forall (c :: k) (d :: k1). (c ~> a) -> (b ~> d) -> p c d -> q c d) -> (p :~>: q) a b |
Instances
(Profunctor p, Profunctor q) => Profunctor (p :~>: q :: k -> j -> Type) Source Comments # | |
(ThinProfunctor p, ThinProfunctor q, Discrete j, Discrete k) => ThinProfunctor (p :~>: q :: k -> j -> Type) Source Comments # | |
type HasArrow (p :~>: q :: k -> j -> Type) (a :: k) (b :: j) Source Comments # | |
Orphan instances
(CategoryOf j, CategoryOf k) => Closed (PROD (j +-> k)) Source Comments # | |
Methods withObExp :: forall (a :: PROD (j +-> k)) (b :: PROD (j +-> k)) r. (Ob a, Ob b) => (Ob (a ~~> b) => r) -> r Source Comments # curry :: forall (a :: PROD (j +-> k)) (b :: PROD (j +-> k)) (c :: PROD (j +-> k)). (Ob a, Ob b) => ((a ** b) ~> c) -> a ~> (b ~~> c) Source Comments # apply :: forall (a :: PROD (j +-> k)) (b :: PROD (j +-> k)). (Ob a, Ob b) => ((a ~~> b) ** a) ~> b Source Comments # (^^^) :: forall (a :: PROD (j +-> k)) (b :: PROD (j +-> k)) (x :: PROD (j +-> k)) (y :: PROD (j +-> k)). (b ~> y) -> (x ~> a) -> (a ~~> b) ~> (x ~~> y) Source Comments # |