proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Profunctor.Identity

Documentation

newtype Id (a :: k) (b :: k) Source Comments #

Constructors

Id 

Fields

Instances

Instances details
Strong KIND (Id :: KIND -> KIND -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Cat

Methods

act :: forall (a :: KIND) (b :: KIND) (x :: KIND) (y :: KIND). (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

Strong DOT (Id :: DOT -> DOT -> Type) Source Comments # 
Instance details

Defined in Proarrow.Tools.Diagrams.Dot

Methods

act :: forall (a :: DOT) (b :: DOT) (x :: DOT) (y :: DOT). (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

Strong Type (Id :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Object.BinaryProduct

Methods

act :: (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

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

Defined in Proarrow.Profunctor.Identity

Methods

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

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

SymMonoidalAction m k => IsReader m (Id :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Equipment.Stateful

Associated Types

type WithWriter m (Id :: k -> k -> Type) 
Instance details

Defined in Proarrow.Category.Equipment.Stateful

type WithWriter m (Id :: k -> k -> Type) = Id :: k -> k -> Type
SymMonoidalAction m k => IsWriter m (Id :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Equipment.Stateful

Associated Types

type WithReader m (Id :: k -> k -> Type) 
Instance details

Defined in Proarrow.Category.Equipment.Stateful

type WithReader m (Id :: k -> k -> Type) = Id :: k -> k -> Type
Monoidal k => MonoidalProfunctor (Id :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Identity

Methods

par0 :: Id (Unit :: k) (Unit :: k) Source Comments #

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

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

Defined in Proarrow.Profunctor.Identity

Methods

dimap :: forall (c :: k) (a :: k) (b :: k) (d :: k). (c ~> a) -> (b ~> d) -> Id a b -> Id c d Source Comments #

(\\) :: forall (a :: k) (b :: k) r. ((Ob a, Ob b) => r) -> Id a b -> r Source Comments #

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

Defined in Proarrow.Profunctor.Identity

Methods

coindex :: forall (a :: k) (b :: k). Id a b -> ((Id :: k -> k -> Type) %% a) ~> b Source Comments #

cotabulate :: forall (a :: k) (b :: k). Ob a => (((Id :: k -> k -> Type) %% a) ~> b) -> Id a b Source Comments #

corepMap :: forall (a :: k) (b :: k). (a ~> b) -> ((Id :: k -> k -> Type) %% a) ~> ((Id :: k -> k -> Type) %% b) Source Comments #

CategoryOf k => Representable (Id :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Identity

Methods

index :: forall (a :: k) (b :: k). Id a b -> a ~> ((Id :: k -> k -> Type) % b) Source Comments #

tabulate :: forall (b :: k) (a :: k). Ob b => (a ~> ((Id :: k -> k -> Type) % b)) -> Id a b Source Comments #

repMap :: forall (a :: k) (b :: k). (a ~> b) -> ((Id :: k -> k -> Type) % a) ~> ((Id :: k -> k -> Type) % b) Source Comments #

CategoryOf j => HasColimits (Id :: j -> j -> Type) k Source Comments # 
Instance details

Defined in Proarrow.Category.Colimit

Methods

colimit :: forall (d :: k +-> j). Corepresentable d => ((Id :: j -> j -> Type) :.: Colimit (Id :: j -> j -> Type) d) :~> d Source Comments #

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 Comments #

CategoryOf j => HasLimits (Id :: j -> j -> Type) k Source Comments # 
Instance details

Defined in Proarrow.Category.Limit

Methods

limit :: forall (d :: j +-> k). Representable d => (Limit (Id :: j -> j -> Type) d :.: (Id :: j -> j -> Type)) :~> d Source Comments #

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 Comments #

CategoryOf k => Proadjunction (Id :: k -> k -> Type) (Id :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Adjunction

Methods

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

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

Costrong (COPROD Type) (Id :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Object.BinaryCoproduct

Methods

coact :: forall (a :: COPROD Type) x y. (Ob a, Ob x, Ob y) => Id (Act a x) (Act a y) -> Id x y Source Comments #

HasCoproducts k => Strong (COPROD k) (Id :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Object.BinaryCoproduct

Methods

act :: forall (a :: COPROD k) (b :: COPROD k) (x :: k) (y :: k). (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

Strong (Type -> Type) (Id :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Nat

Methods

act :: forall (a :: Type -> Type) (b :: Type -> Type) x y. (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

(MonoidalAction m k, Monoidal (SUBCAT ob)) => Strong (SUBCAT ob) (Id :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Sub

Methods

act :: forall (a :: SUBCAT ob) (b :: SUBCAT ob) (x :: k) (y :: k). (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

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

Defined in Proarrow.Profunctor.Identity

Methods

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

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

Defined in Proarrow.Category.Monoidal.Distributive

Methods

cotraverse :: forall (p :: k +-> k). (DistributiveProfunctor p, Strong k p, SelfAction k) => (p :.: (Id :: k -> k -> Type)) :~> ((Id :: k -> k -> Type) :.: p) Source Comments #

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

Defined in Proarrow.Category.Monoidal.Distributive

Methods

traverse :: forall (p :: k +-> k). (DistributiveProfunctor p, Strong k p, SelfAction k) => ((Id :: k -> k -> Type) :.: p) :~> (p :.: (Id :: k -> k -> Type)) Source Comments #

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

Defined in Proarrow.Profunctor.Identity

Methods

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

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

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

Defined in Proarrow.Promonad

Methods

extract :: (Id :: k -> k -> Type) :~> ((~>) :: CAT k) Source Comments #

duplicate :: (Id :: k -> k -> Type) :~> ((Id :: k -> k -> Type) :.: (Id :: k -> k -> Type)) Source Comments #

Strong Type (Id :: COPROD Type -> COPROD Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Object.BinaryCoproduct

Methods

act :: forall a b (x :: COPROD Type) (y :: COPROD Type). (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

Strong Type (Id :: k -> k -> Type) => Strong Type (Id :: LIST k -> LIST k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.List

Methods

act :: forall a b (x :: LIST k) (y :: LIST k). (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

Num a => Strong (MatK a) (Id :: MatK a -> MatK a -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Mat

Methods

act :: forall (a0 :: MatK a) (b :: MatK a) (x :: MatK a) (y :: MatK a). (a0 ~> b) -> Id x y -> Id (Act a0 x) (Act b y) Source Comments #

Strong k (Id :: m -> m -> Type) => Strong (OPPOSITE k) (Id :: OPPOSITE m -> OPPOSITE m -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Opposite

Methods

act :: forall (a :: OPPOSITE k) (b :: OPPOSITE k) (x :: OPPOSITE m) (y :: OPPOSITE m). (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

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

Defined in Proarrow.Object.BinaryCoproduct

Methods

par0 :: Coprod (Id :: k -> k -> Type) (Unit :: COPROD k) (Unit :: COPROD k) Source Comments #

par :: 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 Comments #

(Promonad p, MonoidalProfunctor p) => Strong Type (Id :: KLEISLI p -> KLEISLI p -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Instance.Kleisli

Methods

act :: forall a b (x :: KLEISLI p) (y :: KLEISLI p). (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

(Strong m (Id :: p -> p -> Type), Strong n (Id :: q -> q -> Type)) => Strong (m, n) (Id :: (p, q) -> (p, q) -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Monoidal.Action

Methods

act :: forall (a :: (m, n)) (b :: (m, n)) (x :: (p, q)) (y :: (p, q)). (a ~> b) -> Id x y -> Id (Act a x) (Act b y) Source Comments #

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

Defined in Proarrow.Category.Colimit

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

Defined in Proarrow.Category.Limit

type Limit (Id :: j -> j -> Type) (d :: j +-> k) = d
type WithReader m (Id :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Equipment.Stateful

type WithReader m (Id :: k -> k -> Type) = Id :: k -> k -> Type
type WithWriter m (Id :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Category.Equipment.Stateful

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

Defined in Proarrow.Profunctor.Identity

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

Defined in Proarrow.Profunctor.Identity

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

Defined in Proarrow.Profunctor.Identity

type HasArrow (Id :: k -> k -> Type) (a :: k) (b :: k) = HasArrow ((~>) :: CAT k) a b