|
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 | LeftSemiNearRing Natural | 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.2 |