Portability | portable |
---|---|

Stability | provisional |

Maintainer | Edward Kmett <ekmett@gmail.com> |

Safe Haskell | Safe-Infered |

A `Lens`

or `Traversal`

can be used to take the role of `Traversable`

in
`Control.Parallel.Strategies`

, enabling those combinators to work with
monomorphic containers.

# Documentation

evalOf :: SimpleLensLike Eval a b -> Strategy b -> Strategy aSource

Evaluate the targets of a `Lens`

or `Traversal`

into a data structure
according to the given strategy.

`evalTraversable`

=`evalTraversal`

`traverse`

=`traverse`

`evalTraversal`

=`id`

evalTraversal ::`Simple`

`Lens`

a b ->`Strategy`

b ->`Strategy`

a evalTraversal ::`Simple`

`Traversal`

a b ->`Strategy`

b ->`Strategy`

a evalTraversal :: (b ->`Eval`

b) -> a ->`Eval`

a) ->`Strategy`

b ->`Strategy`

a

parOf :: SimpleLensLike Eval a b -> Strategy b -> Strategy aSource

Evaluate the targets of a `Lens`

or `Traversal`

according into a
data structure according to a given `Strategy`

in parallel.

`parTraversable`

=`parTraversal`

`traverse`

parTraversal ::`Simple`

`Lens`

a b ->`Strategy`

b ->`Strategy`

a parTraversal ::`Simple`

`Traversal`

a b ->`Strategy`

b ->`Strategy`

a parTraversal :: ((b ->`Eval`

b) -> a ->`Eval`

a) ->`Strategy`

b ->`Strategy`

a