| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Category.Instance.Coproduct
Documentation
data COPRODUCT j k Source Github #
Instances
data ((p :: j1 +-> k1) :++: (q :: j2 +-> k2)) (a :: COPRODUCT k1 k2) (b :: COPRODUCT j1 j2) where Source Github #
Constructors
| InjL :: forall {j1} {k1} {j2} {k2} (p :: j1 +-> k1) (a1 :: k1) (b1 :: j1) (q :: j2 +-> k2). p a1 b1 -> (p :++: q) ('L a1 :: COPRODUCT k1 k2) ('L b1 :: COPRODUCT j1 j2) | |
| InjR :: forall {j2} {k2} {j1} {k1} (q :: j2 +-> k2) (a1 :: k2) (b1 :: j2) (p :: j1 +-> k1). q a1 b1 -> (p :++: q) ('R a1 :: COPRODUCT k1 k2) ('R b1 :: COPRODUCT j1 j2) |
Instances
| (Profunctor p, Profunctor q) => Profunctor (p :++: q :: COPRODUCT k1 k2 -> COPRODUCT j1 j2 -> Type) Source Github # | |
Defined in Proarrow.Category.Instance.Coproduct Methods dimap :: forall (c :: COPRODUCT k1 k2) (a :: COPRODUCT k1 k2) (b :: COPRODUCT j1 j2) (d :: COPRODUCT j1 j2). (c ~> a) -> (b ~> d) -> (p :++: q) a b -> (p :++: q) c d Source Github # lmap :: forall (c :: COPRODUCT k1 k2) (a :: COPRODUCT k1 k2) (b :: COPRODUCT j1 j2). (c ~> a) -> (p :++: q) a b -> (p :++: q) c b Source Github # rmap :: forall (b :: COPRODUCT j1 j2) (d :: COPRODUCT j1 j2) (a :: COPRODUCT k1 k2). (b ~> d) -> (p :++: q) a b -> (p :++: q) a d Source Github # (\\) :: forall (a :: COPRODUCT k1 k2) (b :: COPRODUCT j1 j2) r. ((Ob a, Ob b) => r) -> (p :++: q) a b -> r Source Github # | |
| (Corepresentable p, Corepresentable q) => Corepresentable (p :++: q :: COPRODUCT k1 k2 -> COPRODUCT j1 j2 -> Type) Source Github # | |
Defined in Proarrow.Category.Instance.Coproduct Methods coindex :: forall (a :: COPRODUCT k1 k2) (b :: COPRODUCT j1 j2). (p :++: q) a b -> ((p :++: q) %% a) ~> b Source Github # cotabulate :: forall (a :: COPRODUCT k1 k2) (b :: COPRODUCT j1 j2). Ob a => (((p :++: q) %% a) ~> b) -> (p :++: q) a b Source Github # corepMap :: forall (a :: COPRODUCT k1 k2) (b :: COPRODUCT k1 k2). (a ~> b) -> ((p :++: q) %% a) ~> ((p :++: q) %% b) Source Github # corepUniv :: forall (a :: COPRODUCT k1 k2). Ob a => (p :++: q) a ((p :++: q) %% a) Source Github # | |
| (Representable p, Representable q) => Representable (p :++: q :: COPRODUCT k1 k2 -> COPRODUCT j1 j2 -> Type) Source Github # | |
Defined in Proarrow.Category.Instance.Coproduct Methods index :: forall (a :: COPRODUCT k1 k2) (b :: COPRODUCT j1 j2). (p :++: q) a b -> a ~> ((p :++: q) % b) Source Github # tabulate :: forall (b :: COPRODUCT j1 j2) (a :: COPRODUCT k1 k2). Ob b => (a ~> ((p :++: q) % b)) -> (p :++: q) a b Source Github # repMap :: forall (a :: COPRODUCT j1 j2) (b :: COPRODUCT j1 j2). (a ~> b) -> ((p :++: q) % a) ~> ((p :++: q) % b) Source Github # repUniv :: forall (a :: COPRODUCT j1 j2). Ob a => (p :++: q) ((p :++: q) % a) a Source Github # | |
| (DaggerProfunctor p, DaggerProfunctor q) => DaggerProfunctor (p :++: q :: COPRODUCT j1 j2 -> COPRODUCT j1 j2 -> Type) Source Github # | |
| (Promonad p, Promonad q) => Promonad (p :++: q :: COPRODUCT j1 j2 -> COPRODUCT j1 j2 -> Type) Source Github # | The coproduct of two promonads. |
| type (p :++: q :: COPRODUCT k1 k2 -> COPRODUCT j1 j2 -> Type) %% ('L a :: COPRODUCT k1 k2) Source Github # | |
| type (p :++: q :: COPRODUCT k1 k2 -> COPRODUCT j1 j2 -> Type) %% ('R a :: COPRODUCT k1 k2) Source Github # | |
| type (p :++: q :: COPRODUCT k1 k2 -> COPRODUCT j1 j2 -> Type) % ('L a :: COPRODUCT j1 j2) Source Github # | |
| type (p :++: q :: COPRODUCT k1 k2 -> COPRODUCT j1 j2 -> Type) % ('R a :: COPRODUCT j1 j2) Source Github # | |
class IsLR (a :: COPRODUCT j k) where Source Github #
Methods
lrCase :: (forall (b :: j). (a ~ ('L b :: COPRODUCT j k), Ob b) => r) -> (forall (b :: k). (a ~ ('R b :: COPRODUCT j k), Ob b) => r) -> r Source Github #