# 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.:

import DA.Traversable   qualified as F


## 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 (Either a)

instance Traversable ([])

instance Traversable a

## Functions¶

forA

: (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b)

forA is mapA with its arguments flipped.