profunctor-arrows-0.0.1: Profunctor arrows

Safe HaskellSafe
LanguageHaskell2010

Data.Profunctor.Arrow.Adapter

Synopsis

Documentation

data Coyoneda (p :: Type -> Type -> Type) a b #

Instances
ProfunctorFunctor Coyoneda 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

promap :: Profunctor p => (p :-> q) -> Coyoneda p :-> Coyoneda q #

ProfunctorMonad Coyoneda 
Instance details

Defined in Data.Profunctor.Yoneda

ProfunctorComonad Coyoneda 
Instance details

Defined in Data.Profunctor.Yoneda

Mapping p => Mapping (Coyoneda p) 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

map' :: Functor f => Coyoneda p a b -> Coyoneda p (f a) (f b) #

roam :: ((a -> b) -> s -> t) -> Coyoneda p a b -> Coyoneda p s t #

Traversing p => Traversing (Coyoneda p) 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

traverse' :: Traversable f => Coyoneda p a b -> Coyoneda p (f a) (f b) #

wander :: (forall (f :: Type -> Type). Applicative f => (a -> f b) -> s -> f t) -> Coyoneda p a b -> Coyoneda p s t #

Choice p => Choice (Coyoneda p) 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

left' :: Coyoneda p a b -> Coyoneda p (Either a c) (Either b c) #

right' :: Coyoneda p a b -> Coyoneda p (Either c a) (Either c b) #

Cochoice p => Cochoice (Coyoneda p) 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

unleft :: Coyoneda p (Either a d) (Either b d) -> Coyoneda p a b #

unright :: Coyoneda p (Either d a) (Either d b) -> Coyoneda p a b #

Closed p => Closed (Coyoneda p) 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

closed :: Coyoneda p a b -> Coyoneda p (x -> a) (x -> b) #

Strong p => Strong (Coyoneda p) 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

first' :: Coyoneda p a b -> Coyoneda p (a, c) (b, c) #

second' :: Coyoneda p a b -> Coyoneda p (c, a) (c, b) #

Costrong p => Costrong (Coyoneda p) 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

unfirst :: Coyoneda p (a, d) (b, d) -> Coyoneda p a b #

unsecond :: Coyoneda p (d, a) (d, b) -> Coyoneda p a b #

Profunctor (Coyoneda p) 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

dimap :: (a -> b) -> (c -> d) -> Coyoneda p b c -> Coyoneda p a d #

lmap :: (a -> b) -> Coyoneda p b c -> Coyoneda p a c #

rmap :: (b -> c) -> Coyoneda p a b -> Coyoneda p a c #

(#.) :: Coercible c b => q b c -> Coyoneda p a b -> Coyoneda p a c #

(.#) :: Coercible b a => Coyoneda p b c -> q a b -> Coyoneda p a c #

(Category p, Profunctor p) => Category (Coyoneda p :: Type -> Type -> Type) 
Instance details

Defined in Data.Profunctor.Yoneda

Methods

id :: Coyoneda p a a #

(.) :: Coyoneda p b c -> Coyoneda p a b -> Coyoneda p a c #

liftAdapter :: p a b -> AdapterA p a b Source #

TODO: Document

foldAdapter :: Category q => Profunctor q => (p :-> q) -> AdapterA p a b -> q a b Source #

TODO: Document

runAdapterT :: Profunctor q => (p :-> q) -> Coyoneda p a b -> q a b Source #

TODO: Document

runAdapterM :: Monad m => (forall x y. p x y -> x -> m y) -> AdapterA p a b -> a -> m b Source #

TODO: Document

runAdapterW :: Comonad w => (forall x y. p x y -> w x -> y) -> AdapterA p a b -> w a -> b Source #

TODO: Document