[documentation
ekmett@gmail.com**20090327081650] {
addfile ./dist/doc/html/monoids/Data-Ring-FromNum.html
hunk ./dist/doc/html/monoids/Data-Ring-FromNum.html 1
+
+
+
Data.Ring.FromNum |
|
|
|
|
Documentation |
|
module Data.Ring |
|
|
Constructors | | Instances | |
|
|
Produced by Haddock version 2.3.0 |
addfile ./dist/doc/html/monoids/src/Data-Ring-FromNum.html
hunk ./dist/doc/html/monoids/src/Data-Ring-FromNum.html 1
+
+
+
+
+Data/Ring/FromNum.hs
+
+
+
+
+module Data.Ring.FromNum
+ ( module Data.Ring
+ , FromNum(FromNum, getFromNum)
+ ) where
+
+import Data.Ring
+import Data.Monoid.Reducer
+
+newtype FromNum a = FromNum { getFromNum :: a } deriving (Eq,Show,Num)
+
+instance Num a => Monoid (FromNum a) where
+ mempty = fromInteger 0
+ mappend = (+)
+
+instance Num a => Group (FromNum a) where
+ minus = ()
+ gnegate = negate
+
+instance Num a => MultiplicativeMonoid (FromNum a) where
+ one = fromInteger 1
+ times = (*)
+
+instance Num a => Seminearring (FromNum a)
+
+instance Num a => Reducer Integer (FromNum a) where
+ unit = fromInteger
+
+
}