traverse -package:base-compat -package:case-insensitive is:exact -package:loc

Map each element of a structure to an action, evaluate these actions from left to right, and collect the results. For a version that ignores the results see traverse_.

Examples

Basic usage: In the first two examples we show each evaluated action mapping to the output structure.
>>> traverse Just [1,2,3,4]
Just [1,2,3,4]
>>> traverse id [Right 1, Right 2, Right 3, Right 4]
Right [1,2,3,4]
In the next examples, we show that Nothing and Left values short circuit the created structure.
>>> traverse (const Nothing) [1,2,3,4]
Nothing
>>> traverse (\x -> if odd x then Just x else Nothing)  [1,2,3,4]
Nothing
>>> traverse id [Right 1, Right 2, Right 3, Right 4, Left 0]
Left 0
Perform an Applicative action for each key-value pair in a KeyMap and produce a KeyMap of all the results.
Map each element of a structure to an action, evaluate these actions from left to right, and collect the results. For a version that ignores the results see traverse_.
Foldable instance would allow to strip off the exception too easily. I like the methods of Traversable, but Traversable instance requires Foldable instance.
Modify in some context.
A transformation, which traverses the stream with an action in the inner monad.
Map each element of the array to an action, evaluate these actions from left to right, and collect the results. For a version that ignores the results, see traverse_.
Traverse a function over a record. Note that the fields of the record will be accessed in lexicographic order by the labels.
Traverse a function over a variant.
O(n log n). Traverse the elements of the heap in sorted order and produce a new heap using Applicative side-effects.
Map each element of a structure to an action, evaluate these actions from left to right, and collect the results. For a version that ignores the results see traverse_.
Analog of traverse from Traversable.
Lifted traverse. Lifts backpropagatable functions to be backpropagatable functions on Traversable Functors.
traverse, but taking explicit add and zero.
traverse, but with Num constraints instead of Backprop constraints. See vector-sized for a fixed-length vector type with a very appropriate Num instance!
Apply an action to every element of a Tree, yielding a Tree of results.