pandora-0.3.5: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Paradigm.Primary.Transformer.Reverse

Documentation

newtype Reverse t a Source #

Constructors

Reverse (t a) 

Instances

Instances details
Liftable (Reverse :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

lift :: forall (u :: Type -> Type). Covariant u => u ~> Reverse u Source #

Lowerable (Reverse :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

lower :: forall (u :: Type -> Type). Covariant u => Reverse u ~> u Source #

Hoistable (Reverse :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

hoist :: forall (u :: Type -> Type) (v :: Type -> Type). Covariant u => (u ~> v) -> Reverse u ~> Reverse v Source #

Contravariant t => Contravariant (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

(>$<) :: (a -> b) -> Reverse t b -> Reverse t a Source #

contramap :: (a -> b) -> Reverse t b -> Reverse t a Source #

(>$) :: b -> Reverse t b -> Reverse t a Source #

($<) :: Reverse t b -> b -> Reverse t a Source #

full :: Reverse t () -> Reverse t a Source #

(>&<) :: Reverse t b -> (a -> b) -> Reverse t a Source #

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

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

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

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

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

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

Covariant t => Covariant (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

(<$>) :: (a -> b) -> Reverse t a -> Reverse t b Source #

comap :: (a -> b) -> Reverse t a -> Reverse t b Source #

(<$) :: a -> Reverse t b -> Reverse t a Source #

($>) :: Reverse t a -> b -> Reverse t b Source #

void :: Reverse t a -> Reverse t () Source #

loeb :: Reverse t (a <-| Reverse t) -> Reverse t a Source #

(<&>) :: Reverse t a -> (a -> b) -> Reverse t b Source #

(<$$>) :: Covariant u => (a -> b) -> ((Reverse t :. u) := a) -> (Reverse t :. u) := b Source #

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

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

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

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

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

Applicative t => Applicative (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

(<*>) :: Reverse t (a -> b) -> Reverse t a -> Reverse t b Source #

apply :: Reverse t (a -> b) -> Reverse t a -> Reverse t b Source #

(*>) :: Reverse t a -> Reverse t b -> Reverse t b Source #

(<*) :: Reverse t a -> Reverse t b -> Reverse t a Source #

forever :: Reverse t a -> Reverse t b Source #

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

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

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

Distributive t => Distributive (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

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

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

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

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

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

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

Extractable t => Extractable (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

extract :: a <-| Reverse t Source #

Pointable t => Pointable (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

point :: a |-> Reverse t Source #

Traversable t => Traversable (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Methods

(->>) :: (Pointable u, Applicative u) => Reverse t a -> (a -> u b) -> (u :. Reverse t) := b Source #

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

sequence :: (Pointable u, Applicative u) => ((Reverse t :. u) := a) -> (u :. Reverse t) := a Source #

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

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

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

Interpreted (Reverse t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

Associated Types

type Primary (Reverse t) a Source #

Methods

run :: Reverse t a -> Primary (Reverse t) a Source #

unite :: Primary (Reverse t) a -> Reverse t a Source #

type Primary (Reverse t) a Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Reverse

type Primary (Reverse t) a = t a