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

Proarrow.Promonad.Collage

Documentation

data Collage (p :: PRO j k) (a :: COPRODUCT j k) (b :: COPRODUCT j k) where Source Comments #

Constructors

InL :: forall {j} {k} (a1 :: j) (b1 :: j) (p :: PRO j k). (a1 ~> b1) -> Collage p ('L a1 :: COPRODUCT j k) ('L b1 :: COPRODUCT j k) 
InR :: forall {k} {j} (a1 :: k) (b1 :: k) (p :: PRO j k). (a1 ~> b1) -> Collage p ('R a1 :: COPRODUCT j k) ('R b1 :: COPRODUCT j k) 
L2R :: forall {j} {k} (p :: PRO j k) (a1 :: j) (b1 :: k). p a1 b1 -> Collage p ('L a1 :: COPRODUCT j k) ('R b1 :: COPRODUCT j k) 

Instances

Instances details
Functor (Collage :: PRO j k -> COPRODUCT j k -> COPRODUCT j k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Collage

Methods

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

Profunctor p => Profunctor (Collage p :: COPRODUCT j k -> COPRODUCT j k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Collage

Methods

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

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

Profunctor p => Promonad (Collage p :: COPRODUCT j k -> COPRODUCT j k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Collage

Methods

id :: forall (a :: COPRODUCT j k). Ob a => Collage p a a Source Comments #

(.) :: forall (b :: COPRODUCT j k) (c :: COPRODUCT j k) (a :: COPRODUCT j k). Collage p b c -> Collage p a b -> Collage p a c Source Comments #