pipes-3.0.0: Compositional pipelines

Safe HaskellSafe
LanguageHaskell98

Control.PFunctor

Contents

Description

This module defines functors in the category of proxies

Synopsis

Functors over Proxies

class PFunctor t where Source #

A functor in the category of monads

Minimal complete definition

hoistP

Methods

hoistP :: (Monad m, Proxy p) => (forall a' a b' b r1. p a' a b' b m r1 -> q a' a b' b m r1) -> t p a' a b' b m r2 -> t q a' a b' b m r2 Source #

Lift a proxy morphism from p to q into a proxy morphism from (t p) to (t q)

Instances

PFunctor IdentityP Source # 

Methods

hoistP :: (Monad m, Proxy p) => (forall a' a b' b r1. p a' a b' b m r1 -> q a' a b' b m r1) -> IdentityP p a' a b' b m r2 -> IdentityP q a' a b' b m r2 Source #

PFunctor MaybeP Source # 

Methods

hoistP :: (Monad m, Proxy p) => (forall a' a b' b r1. p a' a b' b m r1 -> q a' a b' b m r1) -> MaybeP p a' a b' b m r2 -> MaybeP q a' a b' b m r2 Source #

PFunctor (EitherP e) Source # 

Methods

hoistP :: (Monad m, Proxy p) => (forall a' a b' b r1. p a' a b' b m r1 -> q a' a b' b m r1) -> EitherP e p a' a b' b m r2 -> EitherP e q a' a b' b m r2 Source #

PFunctor (ReaderP i) Source # 

Methods

hoistP :: (Monad m, Proxy p) => (forall a' a b' b r1. p a' a b' b m r1 -> q a' a b' b m r1) -> ReaderP i p a' a b' b m r2 -> ReaderP i q a' a b' b m r2 Source #

PFunctor (StateP s) Source # 

Methods

hoistP :: (Monad m, Proxy p) => (forall a' a b' b r1. p a' a b' b m r1 -> q a' a b' b m r1) -> StateP s p a' a b' b m r2 -> StateP s q a' a b' b m r2 Source #

PFunctor (WriterP w) Source # 

Methods

hoistP :: (Monad m, Proxy p) => (forall a' a b' b r1. p a' a b' b m r1 -> q a' a b' b m r1) -> WriterP w p a' a b' b m r2 -> WriterP w q a' a b' b m r2 Source #

raiseP :: (Monad m, Proxy p, PFunctor t1, ProxyTrans t2) => t1 p a' a b' b m r -> t1 (t2 p) a' a b' b m r Source #

Lift the base proxy

raiseP = hoistP liftP