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 s a -> Strategy a -> Strategy sSource

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`

s a ->`Strategy`

a ->`Strategy`

s`evalOf`

::`Simple`

`Traversal`

s a ->`Strategy`

a ->`Strategy`

s`evalOf`

:: (a ->`Eval`

a) -> s ->`Eval`

s) ->`Strategy`

a ->`Strategy`

s

parOf :: SimpleLensLike Eval s a -> Strategy a -> Strategy sSource

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`

s a ->`Strategy`

a ->`Strategy`

s`parOf`

::`Simple`

`Traversal`

s a ->`Strategy`

a ->`Strategy`

s`parOf`

:: ((a ->`Eval`

a) -> s ->`Eval`

s) ->`Strategy`

a ->`Strategy`

s