Copyright | (c) Sirui Lu 2021-2023 |
---|---|
License | BSD-3-Clause (see the LICENSE file) |
Maintainer | siruilu@cs.washington.edu |
Stability | Experimental |
Portability | GHC only |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Synopsis
- mrgReturnWithStrategy :: MonadUnion u => MergingStrategy a -> a -> u a
- mrgBindWithStrategy :: MonadUnion u => MergingStrategy b -> u a -> (a -> u b) -> u b
- mrgReturn :: (MonadUnion u, Mergeable a) => a -> u a
- (>>=~) :: (MonadUnion u, Mergeable b) => u a -> (a -> u b) -> u b
- (>>~) :: forall m a b. (MonadUnion m, Mergeable b) => m a -> m b -> m b
- mrgFoldM :: (MonadUnion m, Mergeable b, Foldable t) => (b -> a -> m b) -> b -> t a -> m b
- mrgMzero :: forall m a. (MonadUnion m, Mergeable a, MonadPlus m) => m a
- mrgMplus :: forall m a. (MonadUnion m, Mergeable a, MonadPlus m) => m a -> m a -> m a
- mrgFmap :: (MonadUnion f, Mergeable b, Functor f) => (a -> b) -> f a -> f b
mrg* variants for operations in Control.Monad
mrgReturnWithStrategy :: MonadUnion u => MergingStrategy a -> a -> u a Source #
return
with MergingStrategy
knowledge propagation.
mrgBindWithStrategy :: MonadUnion u => MergingStrategy b -> u a -> (a -> u b) -> u b Source #
>>=
with MergingStrategy
knowledge propagation.
mrgReturn :: (MonadUnion u, Mergeable a) => a -> u a Source #
return
with MergingStrategy
knowledge propagation.
(>>=~) :: (MonadUnion u, Mergeable b) => u a -> (a -> u b) -> u b Source #
>>=
with MergingStrategy
knowledge propagation.
(>>~) :: forall m a b. (MonadUnion m, Mergeable b) => m a -> m b -> m b Source #
>>
with MergingStrategy
knowledge propagation.
This is usually more efficient than calling the original >>
and merge the results.
mrgFoldM :: (MonadUnion m, Mergeable b, Foldable t) => (b -> a -> m b) -> b -> t a -> m b Source #
foldM
with MergingStrategy
knowledge propagation.
mrgMzero :: forall m a. (MonadUnion m, Mergeable a, MonadPlus m) => m a Source #
mzero
with MergingStrategy
knowledge propagation.
mrgMplus :: forall m a. (MonadUnion m, Mergeable a, MonadPlus m) => m a -> m a -> m a Source #
mplus
with MergingStrategy
knowledge propagation.
mrgFmap :: (MonadUnion f, Mergeable b, Functor f) => (a -> b) -> f a -> f b Source #
fmap
with MergingStrategy
knowledge propagation.