Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data Rift (j1 :: OPPOSITE (k +-> i)) (p :: j +-> i) (a :: k) (b :: j) where Source Comments #
Instances
(Profunctor p, Profunctor j2) => Profunctor (Rift ('OP j2) p :: j1 -> k -> Type) Source Comments # | |
(p ~ j, Profunctor p) => Promonad (Rift ('OP p) p :: k -> k -> Type) Source Comments # | |
Functor (Rift :: OPPOSITE (k +-> i) -> (j +-> i) -> k -> j -> Type) Source Comments # | |
Profunctor j => Adjunction (Star ((:.:) j :: (i2 +-> k) -> i1 -> i2 -> Type) :: (i1 -> i2 -> Type) -> (i2 +-> k) -> Type) (Star (Rift ('OP j) :: (i2 +-> i1) -> k -> i2 -> Type) :: (k -> i2 -> Type) -> (i2 +-> i1) -> Type) Source Comments # | |
Defined in Proarrow.Profunctor.Rift unit :: forall (a :: i2 +-> k). Ob a => (Star (Rift ('OP j) :: (i2 +-> i1) -> k -> i2 -> Type) :.: Star ((:.:) j :: (i2 +-> k) -> i1 -> i2 -> Type)) a a Source Comments # counit :: (Star ((:.:) j :: (i2 +-> k) -> i1 -> i2 -> Type) :.: Star (Rift ('OP j) :: (i2 +-> i1) -> k -> i2 -> Type)) :~> ((~>) :: CAT (i1 -> i2 -> Type)) Source Comments # | |
Profunctor j2 => Functor (Rift ('OP j2) :: (j1 +-> i) -> k -> j1 -> Type) Source Comments # | |
runRift :: forall {i} {k} {j1} j2 (x :: i) (a :: k) p (b :: j1). Profunctor j2 => j2 x a -> Rift ('OP j2) p a b -> p x b Source Comments #
flipRift :: forall {k} {j1} {i} (j2 :: k -> j1) (p :: PRO j1 i). (Functor j2, Profunctor p) => (p <| Star j2) ~> (Costar j2 :.: p) Source Comments #
flipRiftInv :: forall {k} {k2} {j1} (j2 :: k -> k2) (p :: PRO k2 j1). (Functor j2, Profunctor p) => (Costar j2 :.: p) ~> (p <| Star j2) Source Comments #
riftCompose :: forall {j1} {k1} {k2} {j2} (i :: PRO j1 k1) (j3 :: PRO k2 j1) (p :: PRO k2 j2). (Profunctor i, Profunctor j3, Profunctor p) => ((p <| j3) <| i) ~> (p <| (j3 :.: i)) Source Comments #
riftComposeInv :: forall {i1} {k} {i2} {j1} (i3 :: PRO i1 k) (j2 :: PRO i2 i1) (p :: PRO i2 j1). (Profunctor i3, Profunctor j2, Profunctor p) => (p <| (j2 :.: i3)) ~> ((p <| j2) <| i3) Source Comments #