proarrow
Safe HaskellNone
LanguageGHC2024

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.

Synopsis
  • newtype Id (a :: k) (b :: k) = Id {}

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.

Constructors

Id 

Fields

Instances

Instances details
(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 # 
Instance details

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 # 
Instance details

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 # 
Instance details

Defined in Proarrow.Optic.Day

(MonoidalAction t, Costrong t (Hom k)) => Costrong (t :: (m, k) +-> k) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.Strength

Methods

coact :: forall (a :: m) (x :: k) (y :: k). (Ob a, Ob x, Ob y) => Id (Act t a x) (Act t a y) -> Id x y Source Github #

MonoidalAction t => Strong (t :: (m, k) +-> k) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.Strength

Methods

act :: forall (a :: m) (x :: k) (y :: k). Ob a => Id x y -> Id (Act t a x) (Act t a y) Source Github #

MonoidalAction act => ActFl (act :: (m, k) +-> k) (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Action

Methods

withActP :: forall (s :: k) (a :: k) (b :: k) (t :: k) r. Id s a -> Id b t -> (forall (x :: m). Ob x => (s ~> Act act x a) -> (Act act x b ~> t) -> r) -> r Source Github #

DecidableProfunctor (Hom k) => DecidableProfunctor (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.Identity

Methods

decide :: forall (a :: k) (b :: k). (Ob a, Ob b) => Decision (Id :: k -> k -> Type) a b (Holds (Id :: k -> k -> Type) a b) Source Github #

toHolds :: forall (a :: k) (b :: k) r. Id a b -> ((Holds (Id :: k -> k -> Type) a b ~ 'TRU, Ob a, Ob b) => r) -> r Source Github #

Thin k => ThinProfunctor (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.Identity

Methods

arr :: forall (a :: k) (b :: k). (Ob a, Ob b, HasArrow (Id :: k -> k -> Type) a b) => Id a b Source Github #

withArr :: forall (a :: k) (b :: k) r. Id a b -> ((HasArrow (Id :: k -> k -> Type) a b, Ob a, Ob b) => r) -> r Source Github #

Monoidal k => MonoidalProfunctor (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal

Methods

one :: Id (Unit :: k) (Unit :: k) Source Github #

(**) :: forall (x1 :: k) (x2 :: k) (y1 :: k) (y2 :: k). Id x1 x2 -> Id y1 y2 -> Id (x1 ** y1) (x2 ** y2) Source Github #

CategoryOf k => Profunctor (Id :: k -> k -> Type) Source Github # 
Instance details

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 # 
Instance details

Defined in Proarrow.Profunctor.Instance.Identity

Methods

fmap :: forall (a :: k) (b :: k). (a ~> b) -> ((Id :: k -> k -> Type) @ a) ~> ((Id :: k -> k -> Type) @ b) Source Github #

CategoryOf k => Corepresentable (Id :: k -> k -> Type) Source Github # 
Instance details

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 # 
Instance details

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 # 
Instance details

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 # 
Instance details

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 # 
Instance details

Defined in Proarrow.Adjunction

Methods

unit :: forall (a :: k). Ob a => ((Id :: k -> k -> Type) :.: (Id :: k -> k -> Type)) a a Source Github #

counit :: ((Id :: k -> k -> Type) :.: (Id :: k -> k -> Type)) :~> ((~>) :: CAT k) Source Github #

OplaxMonoidalRep m => AlgLensFl (m :: k +-> k) (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Action

Methods

withAlgP :: forall (s :: k) (a :: k) (b :: k) (t :: k) r. Id s a -> Id b t -> (forall (x :: k). Ob x => ((m % x) ~> x) -> (s ~> (x ** a)) -> ((x ** b) ~> t) -> r) -> r Source Github #

OplaxMonoidalRep l => ClassifyFl (l :: k +-> k) (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Action

(CategoryOf k, CategoryOf j) => AffineFoldFl (Id :: k -> k -> Type) (Id :: j -> j -> Type) Source Github # 
Instance details

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 # 
Instance details

Defined in Proarrow.Optic.Fold

Methods

foldMapP :: forall (m :: k) (s :: k) (a :: k). Monoid m => Id s a -> (a ~> m) -> s ~> m Source Github #

(CategoryOf k, CategoryOf j) => GetterFl (Id :: k -> k -> Type) (Id :: j -> j -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Getter

Methods

getP :: forall (s :: k) (a :: k). Id s a -> s ~> a Source Github #

(CategoryOf k, CategoryOf j) => AffineFoldFl (Id :: k -> k -> Type) (TerminalProfunctor :: j -> j -> Type) Source Github # 
Instance details

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 # 
Instance details

Defined in Proarrow.Optic.Fold

Methods

foldMapP :: forall (m :: k) (s :: k) (a :: k). Monoid m => Id s a -> (a ~> m) -> s ~> m Source Github #

(CategoryOf k, CategoryOf j) => GetterFl (Id :: k -> k -> Type) (TerminalProfunctor :: j -> j -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Getter

Methods

getP :: forall (s :: k) (a :: k). Id s a -> s ~> a Source Github #

Comonad w => RelativeComonad (Id :: i -> i -> Type) (AsRelative w :: i -> i -> Type) Source Github # 
Instance details

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 # 
Instance details

Defined in Proarrow.Promonad

Methods

relReturn :: forall (a :: i). Ob a => Id a (AsRelative m % a) Source Github #

relBind :: forall (b :: i) (a :: i). Ob b => Id a (AsRelative m % b) -> (AsRelative m % a) ~> (AsRelative m % b) Source Github #

(SymMonoidal k, Ob s) => MonoidalProfunctor (State s :: k -> k -> Type) Source Github #

This is only premonoidal, not monoidal.

Instance details

Defined in Proarrow.Promonad.State

Methods

one :: State s (Unit :: k) (Unit :: k) Source Github #

(**) :: forall (x1 :: k) (x2 :: k) (y1 :: k) (y2 :: k). State s x1 x2 -> State s y1 y2 -> State s (x1 ** y1) (x2 ** y2) Source Github #

CategoryOf k => Involution (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Adjunction

Methods

involuted :: forall (a :: k) (a' :: k). (Ob a, Ob a') => PIso a a' ((Id :: k -> k -> Type) % ((Id :: k -> k -> Type) % a)) ((Id :: k -> k -> Type) % ((Id :: k -> k -> Type) % a')) Source Github #

Dagger k => DaggerProfunctor (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.Identity

Methods

dagger :: forall (a :: k) (b :: k). Id a b -> Id b a Source Github #

CategoryOf k => Cotraversable (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.Distributive

Methods

cotraverse :: forall (p :: k +-> k). StrongDistributiveProfunctor p => (p :.: (Id :: k -> k -> Type)) :~> ((Id :: k -> k -> Type) :.: p) Source Github #

CategoryOf k => Traversable (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Category.Monoidal.Distributive

Methods

traverse :: forall (p :: k +-> k). StrongDistributiveProfunctor p => ((Id :: k -> k -> Type) :.: p) :~> (p :.: (Id :: k -> k -> Type)) Source Github #

CategoryOf k => Promonad (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.Identity

Methods

id :: forall (a :: k). Ob a => Id a a Source Github #

(.) :: forall (b :: k) (c :: k) (a :: k). Id b c -> Id a b -> Id a c Source Github #

CategoryOf k => Procomonad (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Promonad

Methods

proextract :: (Id :: k -> k -> Type) :~> ((~>) :: CAT k) Source Github #

produplicate :: (Id :: k -> k -> Type) :~> ((Id :: k -> k -> Type) :.: (Id :: k -> k -> Type)) Source Github #

KnownCtx ('[] :: [Syntax k]) Source Github # 
Instance details

Defined in Proarrow.Tools.CCC

Methods

ctxOb :: Obj (Mul ('[] :: [Syntax k])) Source Github #

CategoryOf k => AffineTravFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.AffineTraversal

Methods

affineMatch :: forall (s :: k) (a :: k) (b :: k) (t :: k). Bicartesian k => Id s a -> Id b t -> s ~> (t || a) Source Github #

affineSet :: forall (s :: k) (a :: k) (b :: k) (t :: k). Bicartesian k => Id s a -> Id b t -> (s && b) ~> t Source Github #

CategoryOf k => GlassFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Glass

Methods

glassP :: forall (s :: k) (a :: k) (b :: k) (t :: k). CCC k => Id s a -> Id b t -> (s && Mod s a b) ~> t Source Github #

CategoryOf k => GrateFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Grate

Methods

zipWithP :: forall (s :: k) (a :: k) (b :: k) (t :: k). (Closed k, SymMonoidal k) => Id s a -> Id b t -> forall (x :: k). Ob x => ((x ~~> a) ~> b) -> (x ~~> s) ~> t Source Github #

CategoryOf k => CotravFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Kaleidoscope

Methods

cotravP :: forall r (s :: k) (a :: k) (b :: k) (t :: k). Cotraversable r => Id s a -> Id b t -> r a b -> r s t Source Github #

CategoryOf k => KaleidoFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Kaleidoscope

Methods

kaleidoP :: forall r (s :: k) (a :: k) (b :: k) (t :: k). Kaleidoscopic r => Id s a -> Id b t -> r a b -> r s t Source Github #

CategoryOf k => LensFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Lens

Methods

putP :: forall (s :: k) (a :: k) (b :: k) (t :: k). HasBinaryProducts k => Id s a -> Id b t -> (s && b) ~> t Source Github #

CategoryOf k => MonLensFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

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 # 
Instance details

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 # 
Instance details

Defined in Proarrow.Optic.Prism

Methods

matchingP :: forall (s :: k) (a :: k) (b :: k) (t :: k). HasBinaryCoproducts k => Id s a -> Id b t -> s ~> (t || a) Source Github #

CategoryOf k => SetterFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Setter

Methods

overP :: forall (s :: k) (a :: k) (b :: k) (t :: k). Id s a -> Id b t -> (a ~> b) -> s ~> t Source Github #

CategoryOf k => TracerFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Tracer

Methods

withTracerP :: forall (s :: k) (a :: k) (b :: k) (t :: k) r. Monoidal k => Id s a -> Id b t -> (forall (m :: k). Ob m => ((m ** s) ~> a) -> (b ~> (m ** t)) -> r) -> r Source Github #

CategoryOf k => MonTravFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Traversal

Methods

monTravP :: forall r (s :: k) (a :: k) (b :: k) (t :: k). StrongDistributiveProfunctor r => Id s a -> Id b t -> r a b -> r s t Source Github #

CategoryOf k => TravFl (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Github # 
Instance details

Defined in Proarrow.Optic.Traversal

Methods

travP :: forall r (s :: k) (a :: k) (b :: k) (t :: k). (StrongDistributiveProfunctor r, Strong (ProdAction :: k -> (PROD k, k) -> Type) r) => Id s a -> Id b t -> r a b -> r s t Source Github #

(HasZeroObject k, HasBiproducts k, Ob a, Ob b) => CommutativeMonoid (Id a b :: Type) Source Github # 
Instance details

Defined in Proarrow.Monoid

(KnownCtx i, Ob b) => KnownCtx (b ': i :: [Syntax k]) Source Github # 
Instance details

Defined in Proarrow.Tools.CCC

Methods

ctxOb :: Obj (Mul (b ': i)) Source Github #

HasCoproducts k => MonoidalProfunctor (Coprod (Id :: k -> k -> Type) :: COPROD k -> COPROD k -> Type) Source Github # 
Instance details

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 # 
Instance details

Defined in Proarrow.Monoid

Methods

mempty :: Id a b Github #

mappend :: Id a b -> Id a b -> Id a b Github #

mconcat :: [Id a b] -> Id a b Github #

(HasZeroObject k, HasBiproducts k, Ob a, Ob b) => Semigroup (Id a b) Source Github # 
Instance details

Defined in Proarrow.Monoid

Methods

(<>) :: Id a b -> Id a b -> Id a b Github #

sconcat :: NonEmpty (Id a b) -> Id a b Github #

stimes :: Integral b0 => b0 -> Id a b -> Id a b Github #

type Colimit (Id :: j -> j -> Type) (d :: k +-> j) Source Github # 
Instance details

Defined in Proarrow.Colimit

type Colimit (Id :: j -> j -> Type) (d :: k +-> j) = d
type Limit (Id :: j -> j -> Type) (d :: j +-> k) Source Github # 
Instance details

Defined in Proarrow.Limit

type Limit (Id :: j -> j -> Type) (d :: j +-> k) = d
type (Id :: k -> k -> Type) @ (a :: k) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.Identity

type (Id :: k -> k -> Type) @ (a :: k) = a
type (Id :: k -> k -> Type) %% (a :: k) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Corepresentable

type (Id :: k -> k -> Type) %% (a :: k) = a
type (Id :: k -> k -> Type) % (a :: k) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Representable

type (Id :: k -> k -> Type) % (a :: k) = a
type HasArrow (Id :: k -> k -> Type) (a :: k) (b :: k) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.Identity

type HasArrow (Id :: k -> k -> Type) (a :: k) (b :: k) = HasArrow (Hom k) a b
type Holds (Id :: k -> k -> Type) (a :: k) (b :: k) Source Github # 
Instance details

Defined in Proarrow.Profunctor.Instance.Identity

type Holds (Id :: k -> k -> Type) (a :: k) (b :: k) = Holds (Hom k) a b