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.

Synopsis
 module Data.Monoid.Multiplicative class (Multiplicative m, Monoid m) => LeftSemiNearRing m class (Multiplicative m, Monoid m) => RightSemiNearRing m
Documentation
module Data.Monoid.Multiplicative
 class (Multiplicative m, Monoid m) => LeftSemiNearRing m Source
`a * (b + c) = (a * b) + (a * c)`
Instances
 LeftSemiNearRing BoolRing LeftSemiNearRing Natural RightSemiNearRing m => LeftSemiNearRing (Dual 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) (Bounded a, Enum a) => LeftSemiNearRing (BitSet a) LeftSemiNearRing m => LeftSemiNearRing (ReducedBy m s) (Modular s a, Integral a) => LeftSemiNearRing (Mod a s) (LeftSemiNearRing r, Module r m) => LeftSemiNearRing (D s r m)
 class (Multiplicative m, Monoid m) => RightSemiNearRing m Source
`(a + b) * c = (a * c) + (b * c)`
Instances
 RightSemiNearRing BoolRing RightSemiNearRing Natural Monoid m => RightSemiNearRing ([] m) Monoid m => RightSemiNearRing (Maybe m) LeftSemiNearRing m => RightSemiNearRing (Dual m) Monoid m => RightSemiNearRing (Seq m) RightSemiNearRing m => RightSemiNearRing (Self m) RightSemiNearRing m => RightSemiNearRing (FromString m) Ord a => RightSemiNearRing (Priority a) (Bounded a, Ord a) => RightSemiNearRing (Order a) (Ord a, Num a) => RightSemiNearRing (Tropical a) Num a => RightSemiNearRing (FromNum a) (Bounded a, Enum a) => RightSemiNearRing (BitSet a) (Measured v m, Monoid m) => RightSemiNearRing (FingerTree v m) RightSemiNearRing m => RightSemiNearRing (ReducedBy m s) (Modular s a, Integral a) => RightSemiNearRing (Mod a s) (Alternative f, Monoid a) => RightSemiNearRing (Alt f a) (MonadPlus m, Monoid a) => RightSemiNearRing (MonadSum m a) (MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (WriterT w m n) (MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (WriterT w m n) (MonadPlus m, Monoid n) => RightSemiNearRing (StateT s m n) (MonadPlus m, Monoid n) => RightSemiNearRing (StateT s m n) (MonadPlus m, Monoid n) => RightSemiNearRing (ReaderT e m n) (RightSemiNearRing r, Module r m) => RightSemiNearRing (D s r m) (Stream s m t, Monoid a) => RightSemiNearRing (ParsecT s u m a) (MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (RWST r w s m n) (MonadPlus m, Monoid w, Monoid n) => RightSemiNearRing (RWST r w s m n)
Produced by Haddock version 2.4.2