|
| Data.Ring.Semi.Near | | Portability | portable (instances use MPTCs) | | Stability | experimental | | Maintainer | ekmett@gmail.com |
|
|
|
| Description |
Defines left- and right- seminearrings. Every MonadPlus wrapped around
a Monoid qualifies due to the distributivity of (>>=) over mplus.
See http://conway.rutgers.edu/~ccshan/wiki/blog/posts/WordNumbers1/
|
|
| Synopsis |
|
|
|
| Documentation |
|
| module Data.Monoid.Multiplicative |
|
|
a * (b + c) = (a * b) + (a * c) | | Instances | | LeftSemiNearRing BoolRing | | Monoid m => LeftSemiNearRing ([] m) | | Monoid m => LeftSemiNearRing (Maybe m) | | Monoid m => LeftSemiNearRing (Seq m) | | LeftSemiNearRing m => LeftSemiNearRing (Self m) | | LeftSemiNearRing m => LeftSemiNearRing (FromString m) | | Ord a => LeftSemiNearRing (Priority a) | | (Bounded a, Ord a) => LeftSemiNearRing (Order a) | | (Ord a, Num a) => LeftSemiNearRing (Tropical a) | | Num a => LeftSemiNearRing (FromNum a) | | (Measured v m, Monoid m) => LeftSemiNearRing (FingerTree v m) | | (Modular s a, Integral a) => LeftSemiNearRing (Mod a s) | | (Alternative f, Monoid a) => LeftSemiNearRing (Alt f a) | | (MonadPlus m, Monoid a) => LeftSemiNearRing (MonadSum m a) | | (LeftSemiNearRing r, Module r m) => LeftSemiNearRing (D r m) | | (MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (WriterT w m n) | | (MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (WriterT w m n) | | (MonadPlus m, Monoid n) => LeftSemiNearRing (StateT s m n) | | (MonadPlus m, Monoid n) => LeftSemiNearRing (StateT s m n) | | (MonadPlus m, Monoid n) => LeftSemiNearRing (ReaderT e m n) | | (Stream s m t, Monoid a) => LeftSemiNearRing (ParsecT s u m a) | | (MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (RWST r w s m n) | | (MonadPlus m, Monoid w, Monoid n) => LeftSemiNearRing (RWST r w s m n) |
|
|
|
|
(a + b) * c = (a * c) + (b * c) | | Instances | |
|
|
| Produced by Haddock version 2.4.1 |