traverse -package:backprop

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.
Transform the original string-like value but keep it case insensitive.
Deprecated: Use traverse_ instead
Deprecated: Use traverse_ instead
Unstructured traversal.
Foldable instance would allow to strip off the exception too easily. I like the methods of Traversable, but Traversable instance requires Foldable instance.
A transformation, which traverses the stream with an action in the inner monad.
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_.
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.
Traverse a sorted list with a function that returns in a monad. The same performance observations apply here as in map, as changing the values may involve reordering the list.
Apply an action to every element of a Vec, yielding a Vec of results.
Apply an action to every element of a Vec, yielding a Vec of results.
A more general implementation of traverse, because it can also work to, from, or within monomorphic structures, obviating the need for classes like MonoTraversable.