| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Proarrow.Profunctor.Instance.Identity
Description
The identity profunctor Id, wrapping the hom arrows of a category. It is the unit of profunctor
composition (Proarrow.Profunctor.Instance.Composition) and the identity Promonad.
Documentation
newtype Id (a :: k) (b :: k) Source Github #
The identity profunctor: the hom arrows of the category wrapped as a data type. It is the unit
of profunctor composition and the identity Promonad.
Instances
| (CategoryOf k1, CategoryOf k2, CategoryOf j1, CategoryOf j2, Flavor w1, Flavor w2) => ProdFl (w1 :: FLAVOR j1 k1) (w2 :: FLAVOR j2 k2) (Id :: (k1, k2) -> (k1, k2) -> Type) (Id :: (j1, j2) -> (j1, j2) -> Type) Source Github # | |
Defined in Proarrow.Optic.Prod Methods withProdP :: forall (s :: (k1, k2)) (a :: (k1, k2)) (b :: (j1, j2)) (t :: (j1, j2)) r. Id s a -> Id b t -> (forall (p1 :: k1 +-> k1) (p2 :: k2 +-> k2) (q1 :: j1 +-> j1) (q2 :: j2 +-> j2). (w1 p1 q1, w2 p2 q2, Profunctor p1, Profunctor p2, Profunctor q1, Profunctor q2) => p1 ((Fst :: (k1, k2) +-> k1) @ s) ((Fst :: (k1, k2) +-> k1) @ a) -> p2 ((Snd :: (k1, k2) +-> k2) @ s) ((Snd :: (k1, k2) +-> k2) @ a) -> q1 ((Fst :: (j1, j2) +-> j1) @ b) ((Fst :: (j1, j2) +-> j1) @ t) -> q2 ((Snd :: (j1, j2) +-> j2) @ b) ((Snd :: (j1, j2) +-> j2) @ t) -> r) -> r Source Github # | |
| (CategoryOf k1, CategoryOf k2, CategoryOf j1, CategoryOf j2, Flavor w1, Flavor w2) => SumFl (w1 :: FLAVOR j1 k1) (w2 :: FLAVOR j2 k2) (Id :: COPRODUCT k1 k2 -> COPRODUCT k1 k2 -> Type) (Id :: COPRODUCT j1 j2 -> COPRODUCT j1 j2 -> Type) Source Github # | |
Defined in Proarrow.Optic.Sum Methods withSumL :: forall (s :: k1) (a :: COPRODUCT k1 k2) (b :: COPRODUCT j1 j2) (t :: j1) r. Id ('L s :: COPRODUCT k1 k2) a -> Id b ('L t :: COPRODUCT j1 j2) -> (forall (p1 :: k1 +-> k1) (q1 :: j1 +-> j1) (a' :: k1) (b' :: j1). (w1 p1 q1, Profunctor p1, Profunctor q1, a ~ ('L a' :: COPRODUCT k1 k2), b ~ ('L b' :: COPRODUCT j1 j2)) => p1 s a' -> q1 b' t -> r) -> r Source Github # withSumR :: forall (s :: k2) (a :: COPRODUCT k1 k2) (b :: COPRODUCT j1 j2) (t :: j2) r. Id ('R s :: COPRODUCT k1 k2) a -> Id b ('R t :: COPRODUCT j1 j2) -> (forall (p2 :: k2 +-> k2) (q2 :: j2 +-> j2) (a' :: k2) (b' :: j2). (w2 p2 q2, Profunctor p2, Profunctor q2, a ~ ('R a' :: COPRODUCT k1 k2), b ~ ('R b' :: COPRODUCT j1 j2)) => p2 s a' -> q2 b' t -> r) -> r Source Github # | |
| (CategoryOf k, CategoryOf j) => DayFl (w1 :: FLAVOR j k) (w2 :: FLAVOR j k) (Id :: k -> k -> Type) (Id :: j -> j -> Type) Source Github # | |
Defined in Proarrow.Optic.Day | |
| (MonoidalAction t, Costrong t (Hom k)) => Costrong (t :: (m, k) +-> k) (Id :: k -> k -> Type) Source Github # | |
| MonoidalAction t => Strong (t :: (m, k) +-> k) (Id :: k -> k -> Type) Source Github # | |
| MonoidalAction act => ActFl (act :: (m, k) +-> k) (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
| DecidableProfunctor (Hom k) => DecidableProfunctor (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Profunctor.Instance.Identity | |
| Thin k => ThinProfunctor (Id :: k -> k -> Type) Source Github # | |
| Monoidal k => MonoidalProfunctor (Id :: k -> k -> Type) Source Github # | |
| CategoryOf k => Profunctor (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Profunctor.Instance.Identity Methods dimap :: forall (c :: k) (a :: k) (b :: k) (d :: k). (c ~> a) -> (b ~> d) -> Id a b -> Id c d Source Github # lmap :: forall (c :: k) (a :: k) (b :: k). (c ~> a) -> Id a b -> Id c b Source Github # rmap :: forall (b :: k) (d :: k) (a :: k). (b ~> d) -> Id a b -> Id a d Source Github # (\\) :: forall (a :: k) (b :: k) r. ((Ob a, Ob b) => r) -> Id a b -> r Source Github # | |
| CategoryOf k => FunctorForRep (Id :: k -> k -> Type) Source Github # | |
| CategoryOf k => Corepresentable (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Profunctor.Corepresentable Methods coindex :: forall (a :: k) (b :: k). Id a b -> ((Id :: k -> k -> Type) %% a) ~> b Source Github # cotabulate :: forall (a :: k) (b :: k). Ob a => (((Id :: k -> k -> Type) %% a) ~> b) -> Id a b Source Github # corepMap :: forall (a :: k) (b :: k). (a ~> b) -> ((Id :: k -> k -> Type) %% a) ~> ((Id :: k -> k -> Type) %% b) Source Github # corepUniv :: forall (a :: k). Ob a => Id a ((Id :: k -> k -> Type) %% a) Source Github # | |
| CategoryOf k => Representable (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Profunctor.Representable Methods index :: forall (a :: k) (b :: k). Id a b -> a ~> ((Id :: k -> k -> Type) % b) Source Github # tabulate :: forall (b :: k) (a :: k). Ob b => (a ~> ((Id :: k -> k -> Type) % b)) -> Id a b Source Github # repMap :: forall (a :: k) (b :: k). (a ~> b) -> ((Id :: k -> k -> Type) % a) ~> ((Id :: k -> k -> Type) % b) Source Github # repUniv :: forall (a :: k). Ob a => Id ((Id :: k -> k -> Type) % a) a Source Github # | |
| CategoryOf j => HasColimits (Id :: j -> j -> Type) k Source Github # | |
Defined in Proarrow.Colimit Methods colimit :: forall (d :: k +-> j). Corepresentable d => ((Id :: j -> j -> Type) :.: Colimit (Id :: j -> j -> Type) d) :~> d Source Github # colimitUniv :: forall (d :: k +-> j) (p :: k +-> j). (Corepresentable d, Profunctor p) => (((Id :: j -> j -> Type) :.: p) :~> d) -> p :~> Colimit (Id :: j -> j -> Type) d Source Github # | |
| CategoryOf j => HasLimits (Id :: j -> j -> Type) k Source Github # | |
Defined in Proarrow.Limit Methods limit :: forall (d :: j +-> k). Representable d => (Limit (Id :: j -> j -> Type) d :.: (Id :: j -> j -> Type)) :~> d Source Github # limitUniv :: forall (d :: j +-> k) (p :: j +-> k). (Representable d, Profunctor p) => ((p :.: (Id :: j -> j -> Type)) :~> d) -> p :~> Limit (Id :: j -> j -> Type) d Source Github # | |
| CategoryOf k => Proadjunction (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
| OplaxMonoidalRep m => AlgLensFl (m :: k +-> k) (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
| OplaxMonoidalRep l => ClassifyFl (l :: k +-> k) (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Optic.Action | |
| (CategoryOf k, CategoryOf j) => AffineFoldFl (Id :: k -> k -> Type) (Id :: j -> j -> Type) Source Github # | |
Defined in Proarrow.Optic.AffineFold Methods previewP :: forall (s :: k) (a :: k). Bicartesian k => Id s a -> s ~> (a || (TerminalObject :: k)) Source Github # | |
| (CategoryOf k, CategoryOf j) => FoldFl (Id :: k -> k -> Type) (Id :: j -> j -> Type) Source Github # | |
| (CategoryOf k, CategoryOf j) => GetterFl (Id :: k -> k -> Type) (Id :: j -> j -> Type) Source Github # | |
| (CategoryOf k, CategoryOf j) => AffineFoldFl (Id :: k -> k -> Type) (TerminalProfunctor :: j -> j -> Type) Source Github # | |
Defined in Proarrow.Optic.AffineFold Methods previewP :: forall (s :: k) (a :: k). Bicartesian k => Id s a -> s ~> (a || (TerminalObject :: k)) Source Github # | |
| (CategoryOf k, CategoryOf j) => FoldFl (Id :: k -> k -> Type) (TerminalProfunctor :: j -> j -> Type) Source Github # | |
| (CategoryOf k, CategoryOf j) => GetterFl (Id :: k -> k -> Type) (TerminalProfunctor :: j -> j -> Type) Source Github # | |
| Comonad w => RelativeComonad (Id :: i -> i -> Type) (AsRelative w :: i -> i -> Type) Source Github # | |
Defined in Proarrow.Promonad Methods relExtract :: forall (a :: i). Ob a => Id (AsRelative w %% a) a Source Github # relExtend :: forall (a :: i) (b :: i). Ob a => Id (AsRelative w %% a) b -> (AsRelative w %% a) ~> (AsRelative w %% b) Source Github # | |
| Monad m => RelativeMonad (Id :: i -> i -> Type) (AsRelative m :: i -> i -> Type) Source Github # | |
Defined in Proarrow.Promonad | |
| (SymMonoidal k, Ob s) => MonoidalProfunctor (State s :: k -> k -> Type) Source Github # | This is only premonoidal, not monoidal. |
| CategoryOf k => Involution (Id :: k -> k -> Type) Source Github # | |
| Dagger k => DaggerProfunctor (Id :: k -> k -> Type) Source Github # | |
| CategoryOf k => Cotraversable (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Category.Monoidal.Distributive | |
| CategoryOf k => Traversable (Id :: k -> k -> Type) Source Github # | |
| CategoryOf k => Promonad (Id :: k -> k -> Type) Source Github # | |
| CategoryOf k => Procomonad (Id :: k -> k -> Type) Source Github # | |
| KnownCtx ('[] :: [Syntax k]) Source Github # | |
| CategoryOf k => AffineTravFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Optic.AffineTraversal | |
| CategoryOf k => GlassFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
| CategoryOf k => GrateFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
| CategoryOf k => CotravFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Optic.Kaleidoscope | |
| CategoryOf k => KaleidoFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Optic.Kaleidoscope | |
| CategoryOf k => LensFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Optic.Lens | |
| CategoryOf k => MonLensFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Optic.MonoidalLens Methods withMonLensP :: forall (s :: k) (a :: k) (b :: k) (t :: k) r. SymMonoidal k => Id s a -> Id b t -> (forall (m :: k). Ob m => ComonoidOn m -> (s ~> (m ** a)) -> ((m ** b) ~> t) -> r) -> r Source Github # | |
| CategoryOf k => PowerGrateFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Optic.PowerGrate Methods powerGrateP :: forall r (s :: k) (a :: k) (b :: k) (t :: k). MonoidalProfunctor r => Id s a -> Id b t -> r a b -> r s t Source Github # | |
| CategoryOf k => PrismFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Optic.Prism | |
| CategoryOf k => SetterFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
| CategoryOf k => TracerFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
| CategoryOf k => MonTravFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Optic.Traversal | |
| CategoryOf k => TravFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # | |
Defined in Proarrow.Optic.Traversal | |
| (HasZeroObject k, HasBiproducts k, Ob a, Ob b) => CommutativeMonoid (Id a b :: Type) Source Github # | |
Defined in Proarrow.Monoid | |
| (KnownCtx i, Ob b) => KnownCtx (b ': i :: [Syntax k]) Source Github # | |
| HasCoproducts k => MonoidalProfunctor (Coprod (Id :: k -> k -> Type) :: COPROD k -> COPROD k -> Type) Source Github # | |
Defined in Proarrow.Colimit.BinaryCoproduct Methods one :: Coprod (Id :: k -> k -> Type) (Unit :: COPROD k) (Unit :: COPROD k) Source Github # (**) :: forall (x1 :: COPROD k) (x2 :: COPROD k) (y1 :: COPROD k) (y2 :: COPROD k). Coprod (Id :: k -> k -> Type) x1 x2 -> Coprod (Id :: k -> k -> Type) y1 y2 -> Coprod (Id :: k -> k -> Type) (x1 ** y1) (x2 ** y2) Source Github # | |
| (HasZeroObject k, HasBiproducts k, Ob a, Ob b) => Monoid (Id a b) Source Github # | |
| (HasZeroObject k, HasBiproducts k, Ob a, Ob b) => Semigroup (Id a b) Source Github # | |
| type Colimit (Id :: j -> j -> Type) (d :: k +-> j) Source Github # | |
Defined in Proarrow.Colimit | |
| type Limit (Id :: j -> j -> Type) (d :: j +-> k) Source Github # | |
Defined in Proarrow.Limit | |
| type (Id :: k -> k -> Type) @ (a :: k) Source Github # | |
Defined in Proarrow.Profunctor.Instance.Identity | |
| type (Id :: k -> k -> Type) %% (a :: k) Source Github # | |
Defined in Proarrow.Profunctor.Corepresentable | |
| type (Id :: k -> k -> Type) % (a :: k) Source Github # | |
Defined in Proarrow.Profunctor.Representable | |
| type HasArrow (Id :: k -> k -> Type) (a :: k) (b :: k) Source Github # | |
| type Holds (Id :: k -> k -> Type) (a :: k) (b :: k) Source Github # | |