Module DA.Traversable¶
Class of data structures that can be traversed from left to right, performing an action on each element.
You typically would want to import this module qualified to avoid clashes with
functions defined in Prelude
. Ie.:
Typeclasses¶
class (Functor t, Foldable t) => Traversable t where
Functors representing data structures that can be traversed from left to right.
- mapA
: Applicative f => (a -> f b) -> t a -> f (t b)
Map each element of a structure to an action, evaluate these actions from left to right, and collect the results.
- sequence
: Applicative f => t (f a) -> f (t a)
Evaluate each action in the structure from left to right, and collect the results.
instance Ord k => Traversable (Map k)
instance Traversable TextMap
instance Traversable Optional
instance Traversable NonEmpty
instance Traversable (Validation err)
instance Traversable (Either a)
instance Traversable ([])
instance Traversable a
Functions¶
- forA
: (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b)
forA
ismapA
with its arguments flipped.