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

Stability | provisional |

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

Safe Haskell | None |

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`

=`evalOf`

`traverse`

=`traverse`

`evalOf`

=`id`

`evalOf`

::`Simple`

`Lens`

a b ->`Strategy`

b ->`Strategy`

a`evalOf`

::`Simple`

`Traversal`

a b ->`Strategy`

b ->`Strategy`

a`evalOf`

:: (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`

=`parOf`

`traverse`

`parOf`

::`Simple`

`Lens`

a b ->`Strategy`

b ->`Strategy`

a`parOf`

::`Simple`

`Traversal`

a b ->`Strategy`

b ->`Strategy`

a`parOf`

:: ((b ->`Eval`

b) -> a ->`Eval`

a) ->`Strategy`

b ->`Strategy`

a