Copyright | (c) Aaron Friel |
---|---|
License | BSD-3 |
Maintainer | Aaron Friel <mayreply@aaronfriel.com> |
Stability | unstable |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
- 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.
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 #
gplus :: PlusInv m i j => m i a -> m j a -> m (Plus m i j) a Source #
An associative binary operation (mplus
).
MonadPlus m => GMonadPlus * (GWrapped m) Source # | |
IxMonadPlus * m => GMonadPlus (*, *) (WrappedIx m) Source # | |