proarrow-0: Category theory with a central role for profunctors
Safe HaskellNone
LanguageHaskell2010

Proarrow.Profunctor.Yoneda

Synopsis

Documentation

data Yoneda (p :: j -> k -> Type) (a :: j) (b :: k) where Source Comments #

Constructors

Yoneda 

Fields

Instances

Instances details
(CategoryOf j, CategoryOf k) => Profunctor (Yoneda p :: j -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Yoneda

Methods

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

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

Functor (Yoneda :: (j -> k -> Type) -> j -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Yoneda

Methods

map :: forall (a :: j -> k -> Type) (b :: j -> k -> Type). (a ~> b) -> Yoneda a ~> Yoneda b Source Comments #

yoneda :: forall j k (p :: PRO j k). (CategoryOf j, CategoryOf k) => Yoneda p :~> p Source Comments #

mkYoneda :: forall {j} {k} (p :: PRO j k). Profunctor p => p :~> Yoneda p Source Comments #

data Yo (a :: k) (b :: k1) (c :: k) (d :: k1) Source Comments #

Yoneda embedding

Constructors

Yo (c ~> a) (b ~> d) 

Instances

Instances details
(CategoryOf j, CategoryOf k) => Profunctor (Yo a b :: j -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Yoneda

Methods

dimap :: forall (c :: j) (a0 :: j) (b0 :: k) (d :: k). (c ~> a0) -> (b0 ~> d) -> Yo a b a0 b0 -> Yo a b c d Source Comments #

(\\) :: forall (a0 :: j) (b0 :: k) r. ((Ob a0, Ob b0) => r) -> Yo a b a0 b0 -> r Source Comments #

Orphan instances

HasCofree (Profunctor :: PRO j k -> Constraint) Source Comments # 
Instance details

Associated Types

type Cofree (Profunctor :: PRO j k -> Constraint) 
Instance details

Defined in Proarrow.Profunctor.Yoneda

type Cofree (Profunctor :: PRO j k -> Constraint) = Star (Yoneda :: (j -> k -> Type) -> j -> k -> Type)

Methods

lower' :: forall (a :: PRO j k) (b :: PRO j k). Cofree (Profunctor :: PRO j k -> Constraint) a b -> a ~> b Source Comments #

section' :: forall (b :: PRO j k) (a :: PRO j k). Profunctor b => (a ~> b) -> Cofree (Profunctor :: PRO j k -> Constraint) a b Source Comments #