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

Proarrow.Promonad.Reader

Documentation

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

Constructors

Reader :: forall {k} {m} (a :: k) (b :: k) (r1 :: m). (Ob a, Ob b) => (Act r1 a ~> b) -> Reader ('OP r1) a b 

Instances

Instances details
(Ob r, MonoidalAction m k, SymMonoidal m) => Strong m (Reader ('OP r) :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

act :: forall (a :: m) (b :: m) (x :: k) (y :: k). (a ~> b) -> Reader ('OP r) x y -> Reader ('OP r) (Act a x) (Act b y) Source Comments #

(Comonoid r, SelfAction k, SymMonoidal k) => MonoidalProfunctor (Reader ('OP r) :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

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

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

(Ob r, MonoidalAction m k) => Profunctor (Reader ('OP 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 ('OP r) a b -> Reader ('OP r) c d Source Comments #

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

(Ob r, MonoidalAction m k) => Adjunction (Writer r :: k -> k -> Type) (Reader ('OP r) :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

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

counit :: ((Writer r :: k -> k -> Type) :.: (Reader ('OP r) :: k -> k -> Type)) :~> ((~>) :: CAT k) Source Comments #

(Comonoid r, MonoidalAction m k) => Promonad (Reader ('OP r) :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

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

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

(Monoid r, MonoidalAction m k) => Procomonad (Reader ('OP r) :: k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

extract :: (Reader ('OP r) :: k -> k -> Type) :~> ((~>) :: CAT k) Source Comments #

duplicate :: (Reader ('OP r) :: k -> k -> Type) :~> ((Reader ('OP r) :: k -> k -> Type) :.: (Reader ('OP r) :: k -> k -> Type)) Source Comments #

MonoidalAction m k => Functor (Reader :: OPPOSITE m -> k -> k -> Type) Source Comments # 
Instance details

Defined in Proarrow.Promonad.Reader

Methods

map :: forall (a :: OPPOSITE m) (b :: OPPOSITE m). (a ~> b) -> (Reader a :: k -> k -> Type) ~> (Reader b :: k -> k -> Type) Source Comments #