pandora-0.3.0: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Functor.Traversable

Synopsis

Documentation

class Covariant t => Traversable t where Source #

Let f :: (Applicative t, Applicative g) => t a -> u a
Let p :: (Pointable t, Pointable g) => t a -> u a
When providing a new instance, you should ensure it satisfies the four laws:
* Naturality of traversing: g . traverse f ≡ traverse (g . f)
* Naturality of sequencing: f . sequence = sequence . comap f
* Preserving point: p (point x) ≡ point x
* Preserving apply: f (x <*> y) ≡ f x <*> f y

Minimal complete definition

(->>)

Methods

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

Infix version of traverse

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

Prefix version of ->>

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

The dual of distribute

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

Infix versions of traverse with various nesting levels

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

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

Instances
Traversable Wye Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Wye

Methods

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

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

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

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

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

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

Traversable Edges Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Edges

Methods

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

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

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

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

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

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

Traversable Identity Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Identity

Methods

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

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

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

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

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

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

Traversable Delta Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Delta

Methods

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

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

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

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

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

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

Traversable Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Maybe

Methods

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

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

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

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

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

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

Traversable (Wedge e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Wedge

Methods

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

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

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

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

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

(->>>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w, Traversable j) => ((j :. (w :. (v :. Wedge e))) := a) -> (a -> u b) -> (u :. (j :. (w :. (v :. Wedge e)))) := b 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 #

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

Defined in Pandora.Paradigm.Primary.Transformer.Jet

Methods

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

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

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

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

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

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

Traversable (Validation e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Validation

Methods

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

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

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

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

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

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

Traversable (Product a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Product

Methods

(->>) :: (Pointable u, Applicative u) => Product a a0 -> (a0 -> u b) -> (u :. Product a) := b Source #

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

sequence :: (Pointable u, Applicative u) => ((Product a :. u) := a0) -> (u :. Product a) := a0 Source #

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

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

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

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

Defined in Pandora.Paradigm.Primary.Transformer.Jack

Methods

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Primary.Transformer.Instruction

Methods

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

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

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

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

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

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

Traversable (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Conclusion

Methods

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Primary.Transformer.Tap

Methods

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

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

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

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

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

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

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

Traversable (Schematic Monad t u) => Traversable (t :> u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Monadic

Methods

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

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

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

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

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

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

Traversable (Schematic Comonad t u) => Traversable (t :< u) Source # 
Instance details

Defined in Pandora.Paradigm.Controlflow.Effect.Transformer.Comonadic

Methods

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

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

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

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

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

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

Traversable (Tagged tag) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Tagged

Methods

(->>) :: (Pointable u, Applicative u) => Tagged tag a -> (a -> u b) -> (u :. Tagged tag) := b Source #

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

sequence :: (Pointable u, Applicative u) => ((Tagged tag :. u) := a) -> (u :. Tagged tag) := a Source #

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

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

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

Traversable (Constant a :: Type -> Type) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Functor.Constant

Methods

(->>) :: (Pointable u, Applicative u) => Constant a a0 -> (a0 -> u b) -> (u :. Constant a) := b Source #

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

sequence :: (Pointable u, Applicative u) => ((Constant a :. u) := a0) -> (u :. Constant a) := a0 Source #

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

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

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

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

Defined in Pandora.Paradigm.Primary.Transformer.Backwards

Methods

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

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

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

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

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

(->>>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w, Traversable j) => ((j :. (w :. (v :. Backwards t))) := a) -> (a -> u b) -> (u :. (j :. (w :. (v :. Backwards t)))) := b 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 #

(Traversable t, Traversable u) => Traversable (u <:.> Construction t) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Transformer.Construction

Methods

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

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

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

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

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

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