pandora-0.1.7: 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 #

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

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

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

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

(>&&<) :: Contravariant u => ((Proxy :.: u) >< a) -> (a -> b) -> (Proxy :.: u) >< b Source #

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

(>&&&&<) :: (Contravariant u, Contravariant v, Contravariant w) => ((Proxy :.: (u :.: (v :.: w))) >< a) -> (a -> b) -> (Proxy :.: (u :.: (v :.: w))) >< b 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 #

(<&>) :: Proxy a -> (a -> b) -> Proxy b 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 #

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

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

(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => ((Proxy :.: (u :.: (v :.: w))) >< a) -> (a -> b) -> (Proxy :.: (u :.: (v :.: w))) >< b 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 #

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 #

(<**>) :: Applicative u => (Proxy :.: u) (a -> b) -> (Proxy :.: u) a -> (Proxy :.: u) b Source #

(<***>) :: (Applicative u, Applicative v) => (Proxy :.: (u :.: v)) (a -> b) -> (Proxy :.: (u :.: v)) a -> (Proxy :.: (u :.: v)) b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => (Proxy :.: (u :.: (v :.: w))) (a -> b) -> (Proxy :.: (u :.: (v :.: w))) a -> (Proxy :.: (u :.: (v :.: w))) 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 #

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 #

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

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

(>>>>>-) :: (Covariant t, Covariant v, Covariant w, Covariant j) => (t :.: (v :.: (w :.: j))) a -> (a -> Proxy b) -> (Proxy :.: (t :.: (v :.: (w :.: j)))) b 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