pandora-0.1.7: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Basis.Variation

Documentation

data Variation e a Source #

Constructors

This a 
That e 
These e a 
Instances
Covariant (Variation e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Variation

Methods

(<$>) :: (a -> b) -> Variation e a -> Variation e b Source #

comap :: (a -> b) -> Variation e a -> Variation e b Source #

(<$) :: a -> Variation e b -> Variation e a Source #

($>) :: Variation e a -> b -> Variation e b Source #

void :: Variation e a -> Variation e () Source #

loeb :: Variation e (Variation e a -> a) -> Variation e a Source #

(<&>) :: Variation e a -> (a -> b) -> Variation e b Source #

(<$$>) :: Covariant u => (a -> b) -> ((Variation e :.: u) >< a) -> (Variation e :.: u) >< b Source #

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

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

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

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

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

Pointable (Variation e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Variation

Methods

point :: a -> Variation e a Source #

Traversable (Variation e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Variation

Methods

(->>) :: (Pointable u, Applicative u) => Variation e a -> (a -> u b) -> (u :.: Variation e) b Source #

traverse :: (Pointable u, Applicative u) => (a -> u b) -> Variation e a -> (u :.: Variation e) b Source #

sequence :: (Pointable u, Applicative u) => (Variation e :.: u) a -> (u :.: Variation e) a Source #

(->>>) :: (Pointable u, Applicative u, Traversable v) => (v :.: Variation e) a -> (a -> u b) -> (u :.: (v :.: Variation e)) b Source #

(->>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w) => (w :.: (v :.: Variation e)) a -> (a -> u b) -> (u :.: (w :.: (v :.: Variation e))) b Source #

(->>>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w, Traversable j) => (j :.: (w :.: (v :.: Variation e))) a -> (a -> u b) -> (u :.: (j :.: (w :.: (v :.: Variation e)))) b Source #

variation :: (a -> r) -> (e -> r) -> (e -> a -> r) -> Variation e a -> r Source #