proarrow
Safe HaskellNone
LanguageGHC2024

Proarrow.Profunctor.Arrow

Documentation

newtype Arr (arr :: CAT Type) a b Source Comments #

Constructors

Arr 

Fields

Instances

Instances details
ArrowLoop arr => Costrong Type (Arr arr :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Arrow

Methods

coact :: (Ob a, Ob x, Ob y) => Arr arr (Act a x) (Act a y) -> Arr arr x y Source Comments #

Arrow arr => Strong Type (Arr arr :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Arrow

Methods

act :: (a ~> b) -> Arr arr x y -> Arr arr (Act a x) (Act b y) Source Comments #

Arrow arr => MonoidalProfunctor (Arr arr :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Arrow

Methods

par0 :: Arr arr (Unit :: Type) (Unit :: Type) Source Comments #

par :: Arr arr x1 x2 -> Arr arr y1 y2 -> Arr arr (x1 ** y1) (x2 ** y2) Source Comments #

Arrow arr => Profunctor (Arr arr :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Arrow

Methods

dimap :: (c ~> a) -> (b ~> d) -> Arr arr a b -> Arr arr c d Source Comments #

(\\) :: ((Ob a, Ob b) => r) -> Arr arr a b -> r Source Comments #

ArrowApply arr => Representable (Arr arr :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Arrow

Methods

index :: Arr arr a b -> a ~> (Arr arr % b) Source Comments #

tabulate :: Ob b => (a ~> (Arr arr % b)) -> Arr arr a b Source Comments #

repMap :: (a ~> b) -> (Arr arr % a) ~> (Arr arr % b) Source Comments #

Arrow arr => Promonad (Arr arr :: Type -> Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Arrow

Methods

id :: Ob a => Arr arr a a Source Comments #

(.) :: Arr arr b c -> Arr arr a b -> Arr arr a c Source Comments #

ArrowChoice arr => MonoidalProfunctor (Coprod (Arr arr) :: COPROD Type -> COPROD Type -> Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Arrow

Methods

par0 :: Coprod (Arr arr) (Unit :: COPROD Type) (Unit :: COPROD Type) Source Comments #

par :: forall (x1 :: COPROD Type) (x2 :: COPROD Type) (y1 :: COPROD Type) (y2 :: COPROD Type). Coprod (Arr arr) x1 x2 -> Coprod (Arr arr) y1 y2 -> Coprod (Arr arr) (x1 ** y1) (x2 ** y2) Source Comments #

type (Arr arr :: Type -> Type -> Type) % (a :: Type) Source Comments # 
Instance details

Defined in Proarrow.Profunctor.Arrow

type (Arr arr :: Type -> Type -> Type) % (a :: Type) = arr () a

Orphan instances

MonadFix m => Costrong Type (Kleisli m :: Type -> Type -> Type) Source Comments # 
Instance details

Methods

coact :: (Ob a, Ob x, Ob y) => Kleisli m (Act a x) (Act a y) -> Kleisli m x y Source Comments #

Monad m => Strong Type (Kleisli m :: Type -> Type -> Type) Source Comments # 
Instance details

Methods

act :: (a ~> b) -> Kleisli m x y -> Kleisli m (Act a x) (Act b y) Source Comments #

Monad m => MonoidalProfunctor (Kleisli m :: Type -> Type -> Type) Source Comments # 
Instance details

Methods

par0 :: Kleisli m (Unit :: Type) (Unit :: Type) Source Comments #

par :: Kleisli m x1 x2 -> Kleisli m y1 y2 -> Kleisli m (x1 ** y1) (x2 ** y2) Source Comments #

Functor m => Profunctor (Kleisli m :: Type -> Type -> Type) Source Comments # 
Instance details

Methods

dimap :: (c ~> a) -> (b ~> d) -> Kleisli m a b -> Kleisli m c d Source Comments #

(\\) :: ((Ob a, Ob b) => r) -> Kleisli m a b -> r Source Comments #

Functor m => Representable (Kleisli m :: Type -> Type -> Type) Source Comments # 
Instance details

Methods

index :: Kleisli m a b -> a ~> (Kleisli m % b) Source Comments #

tabulate :: Ob b => (a ~> (Kleisli m % b)) -> Kleisli m a b Source Comments #

repMap :: (a ~> b) -> (Kleisli m % a) ~> (Kleisli m % b) Source Comments #

MonadPlus m => Strong (COPROD Type) (Kleisli m :: Type -> Type -> Type) Source Comments # 
Instance details

Methods

act :: forall (a :: COPROD Type) (b :: COPROD Type) x y. (a ~> b) -> Kleisli m x y -> Kleisli m (Act a x) (Act b y) Source Comments #

Monad m => Promonad (Kleisli m :: Type -> Type -> Type) Source Comments # 
Instance details

Methods

id :: Ob a => Kleisli m a a Source Comments #

(.) :: Kleisli m b c -> Kleisli m a b -> Kleisli m a c Source Comments #

MonadPlus m => MonoidalProfunctor (Coprod (Kleisli m) :: COPROD Type -> COPROD Type -> Type) Source Comments # 
Instance details

Methods

par0 :: Coprod (Kleisli m) (Unit :: COPROD Type) (Unit :: COPROD Type) Source Comments #

par :: forall (x1 :: COPROD Type) (x2 :: COPROD Type) (y1 :: COPROD Type) (y2 :: COPROD Type). Coprod (Kleisli m) x1 x2 -> Coprod (Kleisli m) y1 y2 -> Coprod (Kleisli m) (x1 ** y1) (x2 ** y2) Source Comments #