| Copyright | (c) Aaron Friel |
|---|---|
| License | BSD-3 |
| Maintainer | Aaron Friel <mayreply@aaronfriel.com> |
| Stability | unstable |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Control.MonadPlus.Graph
Description
- class GMonadZero m => GMonadPlus m where
- type Plus m (i :: p) (j :: p) :: p
- type PlusInv m (i :: p) (j :: p) :: Constraint
Documentation
class GMonadZero m => GMonadPlus m where Source #
Graph indexed monad with a monoidal operation satisfying the left distribution law.
See the typeclassopedia https://wiki.haskell.org/Typeclassopedia.
Minimal complete definition
Associated Types
type Plus m (i :: p) (j :: p) :: p Source #
The or operation (mplus) on the graph index.
Default instance: Plus m i j = Combine m i j
type PlusInv m (i :: p) (j :: p) :: Constraint Source #
Methods
gplus :: PlusInv m i j => m i a -> m j a -> m (Plus m i j) a Source #
An associative binary operation (mplus).
Instances
| MonadPlus m => GMonadPlus * (GWrapped m) Source # | |
| IxMonadPlus * m => GMonadPlus (*, *) (WrappedIx m) Source # | |