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

Proarrow.Promonad.Reader

Documentation

data Reader (r :: k) (a :: k) (b :: k) where Source Comments #

Constructors

Reader :: forall {k} (a :: k) (b :: k) (r :: k). (Ob a, Ob b) => ((r && a) ~> b) -> Reader r a b 

Instances

Instances details
(BiCCC k, Ob r) => MonoidalProfunctor (Reader r :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

par0 :: Reader r (Unit :: k) (Unit :: k) Source Comments #

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

(BiCCC k, Ob r) => Profunctor (Reader r :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

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

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

(BiCCC k, Ob r) => Adjunction (Writer r :: k -> k -> Type) (Reader r :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

unit :: forall (a :: k). Ob a => (Reader r :.: Writer r) a a Source Comments #

counit :: (Writer r :.: Reader r) :~> ((~>) :: CAT k) Source Comments #

(BiCCC k, Ob r) => Promonad (Reader r :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

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

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

(Monoid m, BiCCC k) => Procomonad (Reader m :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader