Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- recovering :: (Monad m, Alternative m, Monoid r, Effective m r f) => Over' p f s a -> Over' p f s a
- tryOrContinue :: (Monad m, Alternative m) => Acting m r a a -> Acting m r a a
- tryCatch :: (Monad m, Alternative m) => Acting m r s b -> (s -> m b) -> Acting m r s b
- filteredM :: (Monad m, Monoid r) => (a -> m Bool) -> Acting m r a a
- merging :: (Applicative f, Contravariant f) => LensLike' f s a -> LensLike' f s a -> LensLike' f s a
- including :: (Applicative f, Contravariant f) => LensLike' f a a -> LensLike' f a a
Documentation
recovering :: (Monad m, Alternative m, Monoid r, Effective m r f) => Over' p f s a -> Over' p f s a Source #
If a given fold fails (e.g. with an exception), recover and simply return 0 elements rather than crashing.
tryOrContinue :: (Monad m, Alternative m) => Acting m r a a -> Acting m r a a Source #
Try the given fold, if it throws an exception then return the input as the output instead
tryCatch :: (Monad m, Alternative m) => Acting m r s b -> (s -> m b) -> Acting m r s b Source #
Try the given fold, if it throws an exception then use the given handler to compute a replacement value and continue with that.
filteredM :: (Monad m, Monoid r) => (a -> m Bool) -> Acting m r a a Source #
Filter a fold using a monadic action
merging :: (Applicative f, Contravariant f) => LensLike' f s a -> LensLike' f s a -> LensLike' f s a Source #
Merge two folds
including :: (Applicative f, Contravariant f) => LensLike' f a a -> LensLike' f a a Source #
Include the results of an additional fold alongside the original values