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

Proarrow.Profunctor.Coyoneda

Documentation

data Coyoneda (p :: j +-> k) (a :: k) (b :: j) where Source Comments #

Constructors

Coyoneda :: forall {k} {j} (a :: k) (c :: k) (d :: j) (b :: j) (p :: j +-> k). (a ~> c) -> (d ~> b) -> p c d -> Coyoneda p a b 

Instances

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

Defined in Proarrow.Profunctor.Coyoneda

Methods

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

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

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

Defined in Proarrow.Profunctor.Coyoneda

Methods

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

coyoneda :: forall j k (a :: k) (b :: j) p. (CategoryOf j, CategoryOf k, Ob a, Ob b) => p a b -> Coyoneda p a b Source Comments #

unCoyoneda :: forall {k1} {k} (p :: k1 +-> k). Profunctor p => Coyoneda p :~> p Source Comments #

Orphan instances

HasFree (Profunctor :: (j +-> k) -> Constraint) Source Comments # 
Instance details

Associated Types

type Free (Profunctor :: (j +-> k) -> Constraint) 
Instance details

Defined in Proarrow.Profunctor.Coyoneda

type Free (Profunctor :: (j +-> k) -> Constraint) = Star (Coyoneda :: (j +-> k) -> k -> j -> Type)

Methods

lift' :: forall (a :: j +-> k) (b :: j +-> k). (a ~> b) -> Free (Profunctor :: (j +-> k) -> Constraint) a b Source Comments #

retract' :: forall (b :: j +-> k) (a :: j +-> k). Profunctor b => Free (Profunctor :: (j +-> k) -> Constraint) a b -> a ~> b Source Comments #