pandora-0.2.9: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Primary.Functor.These

Documentation

data These e a Source #

Constructors

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

Defined in Pandora.Paradigm.Primary.Functor.These

Methods

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

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

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

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

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

loeb :: These e (a <-| These e) -> These e a Source #

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

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

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

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

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

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

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

Pointable (These e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.These

Methods

point :: a |-> These e Source #

Traversable (These e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.These

Methods

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

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

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

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

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

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

these :: (a -> r) -> (e -> r) -> (e -> a -> r) -> These e a -> r Source #