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 :: LensLike Eval a a b 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

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 :: LensLike Eval a a b 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