pandora-0.1.5: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Basis.Proxy

Documentation

data Proxy a Source #

Constructors

Proxy 
Instances
Contravariant (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Proxy

Methods

(>$<) :: (a -> b) -> Proxy b -> Proxy a Source #

contramap :: (a -> b) -> Proxy b -> Proxy a Source #

(>$) :: b -> Proxy b -> Proxy a Source #

($<) :: Proxy b -> b -> Proxy a Source #

full :: Proxy () -> Proxy a Source #

(>$$$<) :: (Contravariant u, Contravariant v) => (a -> b) -> Proxy (u (v b)) -> Proxy (u (v a)) Source #

(>&<) :: Proxy b -> (a -> b) -> Proxy a Source #

Covariant (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Proxy

Methods

(<$>) :: (a -> b) -> Proxy a -> Proxy b Source #

comap :: (a -> b) -> Proxy a -> Proxy b Source #

(<$) :: a -> Proxy b -> Proxy a Source #

($>) :: Proxy a -> b -> Proxy b Source #

void :: Proxy a -> Proxy () Source #

loeb :: Proxy (Proxy a -> a) -> Proxy a Source #

(<$$>) :: Covariant u => (a -> b) -> Proxy (u a) -> Proxy (u b) Source #

(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> Proxy (u (v a)) -> Proxy (u (v b)) Source #

(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> Proxy (u (v (w a))) -> Proxy (u (v (w b))) Source #

(<&>) :: Proxy a -> (a -> b) -> Proxy b Source #

Applicative (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Proxy

Methods

(<*>) :: Proxy (a -> b) -> Proxy a -> Proxy b Source #

apply :: Proxy (a -> b) -> Proxy a -> Proxy b Source #

(*>) :: Proxy a -> Proxy b -> Proxy b Source #

(<*) :: Proxy a -> Proxy b -> Proxy a Source #

forever :: Proxy a -> Proxy b Source #

Alternative (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Proxy

Methods

(<+>) :: Proxy a -> Proxy a -> Proxy a Source #

alter :: Proxy a -> Proxy a -> Proxy a Source #

Bindable (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Proxy

Methods

(>>=) :: Proxy a -> (a -> Proxy b) -> Proxy b Source #

(=<<) :: (a -> Proxy b) -> Proxy a -> Proxy b Source #

bind :: (a -> Proxy b) -> Proxy a -> Proxy b Source #

join :: (Proxy :.: Proxy) a -> Proxy a Source #

(>=>) :: (a -> Proxy b) -> (b -> Proxy c) -> a -> Proxy c Source #

(<=<) :: (b -> Proxy c) -> (a -> Proxy b) -> a -> Proxy c Source #

Distributive (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Proxy

Methods

(>>-) :: Covariant t => t a -> (a -> Proxy b) -> (Proxy :.: t) b Source #

collect :: Covariant t => (a -> Proxy b) -> t a -> (Proxy :.: t) b Source #

distribute :: Covariant t => (t :.: Proxy) a -> (Proxy :.: t) a Source #

Extendable (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Proxy

Methods

(=>>) :: Proxy a -> (Proxy a -> b) -> Proxy b Source #

(<<=) :: (Proxy a -> b) -> Proxy a -> Proxy b Source #

extend :: (Proxy a -> b) -> Proxy a -> Proxy b Source #

duplicate :: Proxy a -> (Proxy :.: Proxy) a Source #

(=<=) :: (Proxy b -> c) -> (Proxy a -> b) -> Proxy a -> c Source #

(=>=) :: (Proxy a -> b) -> (Proxy b -> c) -> Proxy a -> c Source #

Pointable (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Proxy

Methods

point :: a -> Proxy a Source #

Monad (Proxy :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Proxy