[documentation fix ekmett@gmail.com**20090327073326] { addfile ./dist/doc/html/monoids/Data-Monoid-Monad-STM.html hunk ./dist/doc/html/monoids/Data-Monoid-Monad-STM.html 1 + + +Data.Monoid.Monad.STM
 monoids-0.1.1: Lots of MonoidsSource codeContentsIndex
Data.Monoid.Monad.STM
Documentation
module Data.Monoid.Reducer
Produced by Haddock version 2.3.0
addfile ./dist/doc/html/monoids/Data-Ring-Bool.html hunk ./dist/doc/html/monoids/Data-Ring-Bool.html 1 + + +Data.Ring.Bool
 monoids-0.1.1: Lots of MonoidsSource codeContentsIndex
Data.Ring.Bool
Documentation
module Data.Ring
Produced by Haddock version 2.3.0
addfile ./dist/doc/html/monoids/Data-Ring-Number.html hunk ./dist/doc/html/monoids/Data-Ring-Number.html 1 + + +Data.Ring.Number
 monoids-0.1.1: Lots of MonoidsSource codeContentsIndex
Data.Ring.Number
Documentation
module Data.Ring
newtype Number a Source
Constructors
Number
getNumber :: a
show/hide Instances
Num a => Reducer Integer (Number a)
Eq a => Eq (Number a)
Num a => Num (Number a)
Show a => Show (Number a)
Num a => Monoid (Number a)
Num a => MultiplicativeMonoid (Number a)
Num a => Seminearring (Number a)
Num a => Group (Number a)
Produced by Haddock version 2.3.0
addfile ./dist/doc/html/monoids/Data-Ring-Sugar.html hunk ./dist/doc/html/monoids/Data-Ring-Sugar.html 1 + + +Data.Ring.Sugar
 monoids-0.1.1: Lots of MonoidsSource codeContentsIndex
Data.Ring.Sugar
Documentation
module Data.Monoid.Multiplicative.Sugar
module Data.Group.Sugar
module Data.Ring
Produced by Haddock version 2.3.0
addfile ./dist/doc/html/monoids/Data-Ring.html hunk ./dist/doc/html/monoids/Data-Ring.html 1 + + +Data.Ring
 monoids-0.1.1: Lots of MonoidsSource codeContentsIndex
Data.Ring
Documentation
module Data.Group
module Data.Seminearring
Produced by Haddock version 2.3.0
addfile ./dist/doc/html/monoids/Data-Seminearring-Sugar.html hunk ./dist/doc/html/monoids/Data-Seminearring-Sugar.html 1 + + +Data.Seminearring.Sugar
 monoids-0.1.1: Lots of MonoidsSource codeContentsIndex
Data.Seminearring.Sugar
Documentation
module Data.Monoid.Multiplicative.Sugar
module Data.Seminearring
Produced by Haddock version 2.3.0
addfile ./dist/doc/html/monoids/Data-Seminearring.html hunk ./dist/doc/html/monoids/Data-Seminearring.html 1 + + +Data.Seminearring
 monoids-0.1.1: Lots of MonoidsSource codeContentsIndex
Data.Seminearring
Documentation
module Data.Monoid.Multiplicative
class (MultiplicativeMonoid m, Monoid m) => Seminearring m Source
show/hide Instances
Produced by Haddock version 2.3.0
addfile ./dist/doc/html/monoids/src/Data-Monoid-Monad-STM.html hunk ./dist/doc/html/monoids/src/Data-Monoid-Monad-STM.html 1 + + + + +Data/Monoid/Monad/STM.hs + + + +
{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-}
+
+module Data.Monoid.Monad.STM
+    ( module Control.Concurrent.STM
+    , module Control.Monad
+    , module Data.Monoid.Reducer
+    )  where
+
+import Control.Monad
+import Control.Concurrent.STM
+import Data.Monoid.Reducer
+
+instance Monoid m => Monoid (STM m) where
+    mempty = return mempty
+    mappend = liftM2 mappend
+
+instance Monoid m => Reducer m (STM m) where
+    unit = return
+
+ addfile ./dist/doc/html/monoids/src/Data-Ring-Bool.html hunk ./dist/doc/html/monoids/src/Data-Ring-Bool.html 1 + + + + +Data/Ring/Bool.hs + + + +
{-# OPTIONS_GHC -fno-warn-orphans #-}
+module Data.Ring.Bool
+    ( module Data.Ring
+    ) where
+
+import Data.Ring
+
+ addfile ./dist/doc/html/monoids/src/Data-Ring-Number.html hunk ./dist/doc/html/monoids/src/Data-Ring-Number.html 1 + + + + +Data/Ring/Number.hs + + + +
{-# LANGUAGE FlexibleInstances, FlexibleContexts, MultiParamTypeClasses, GeneralizedNewtypeDeriving #-}
+module Data.Ring.Number 
+    ( module Data.Ring
+    , Number(Number, getNumber)
+    ) where
+
+import Data.Ring
+import Data.Monoid.Reducer
+
+newtype Number a = Number { getNumber :: a } deriving (Eq,Show,Num)
+
+instance Num a => Monoid (Number a) where
+    mempty = fromInteger 0
+    mappend = (+)
+
+instance Num a => Group (Number a) where
+    minus = (-)
+    gnegate = negate
+    
+instance Num a => MultiplicativeMonoid (Number a) where
+    one = fromInteger 1
+    times = (*)
+
+instance Num a => Seminearring (Number a)
+    
+instance Num a => Reducer Integer (Number a) where
+    unit = fromInteger
+
+ addfile ./dist/doc/html/monoids/src/Data-Ring-Sugar.html hunk ./dist/doc/html/monoids/src/Data-Ring-Sugar.html 1 + + + + +Data/Ring/Sugar.hs + + + +
module Data.Ring.Sugar 
+    ( module Data.Monoid.Multiplicative.Sugar
+    , module Data.Group.Sugar
+    , module Data.Ring
+    ) where
+
+import Data.Monoid.Multiplicative.Sugar
+import Data.Group.Sugar
+import Data.Ring
+
+
+ addfile ./dist/doc/html/monoids/src/Data-Ring.html hunk ./dist/doc/html/monoids/src/Data-Ring.html 1 + + + + +Data/Ring.hs + + + +
{-# OPTIONS_GHC -fno-warn-orphans #-}
+module Data.Ring
+    ( module Data.Group
+    , module Data.Seminearring
+    ) where
+
+import Data.Group
+import Data.Seminearring
+
+class (Group a, Seminearring a) => Ring a
+
+instance Monoid Bool where
+    mempty = False
+    mappend = (||)
+
+instance Group Bool where
+    gnegate = not
+
+instance MultiplicativeMonoid Bool where
+    one = True
+    times = (&&)
+
+instance Seminearring Bool
+
+instance Ring Bool
+
+ addfile ./dist/doc/html/monoids/src/Data-Seminearring-Sugar.html hunk ./dist/doc/html/monoids/src/Data-Seminearring-Sugar.html 1 + + + + +Data/Seminearring/Sugar.hs + + + +
module Data.Seminearring.Sugar 
+    ( module Data.Monoid.Multiplicative.Sugar
+    , module Data.Seminearring
+    ) where
+
+import Data.Monoid.Multiplicative.Sugar
+import Data.Seminearring
+
+ addfile ./dist/doc/html/monoids/src/Data-Seminearring.html hunk ./dist/doc/html/monoids/src/Data-Seminearring.html 1 + + + + +Data/Seminearring.hs + + + +
module Data.Seminearring
+    ( module Data.Monoid.Multiplicative
+    , Seminearring
+    ) where
+
+import Data.Monoid.Multiplicative
+import Data.FingerTree
+import Data.Monoid.FromString
+import Data.Monoid.Monad.Identity
+import Data.Monoid.Generator
+import qualified Data.Sequence as Seq
+import Data.Sequence (Seq)
+
+class (MultiplicativeMonoid m, Monoid m) => Seminearring m 
+instance Monoid m => Seminearring [m]
+instance Monoid m => Seminearring (Seq m)
+instance (Measured v m, Monoid m) => Seminearring (FingerTree v m)
+instance Seminearring m => Seminearring (Identity m)
+instance Seminearring m => Seminearring (FromString m)
+
+-- class Absorbing m where isZero :: m -> Bool
+
+ }