[added Data.Monoid.Ord to correct for the lack of Priority, Min, and Max monoids ekmett@gmail.com**20090323043643] { addfile ./Data/Monoid/Ord.hs hunk ./Data/Monoid/Ord.hs 1 +module Data.Monoid.Ord + ( module Data.Monoid + , Min(Min,getMin) + , Max(Max,getMax) + , Priority(Priority,getPriority) + ) where + +import Data.Monoid (Monoid, mappend, mempty) + +newtype Min a = Min { getMin :: a } deriving (Eq,Ord,Show,Read,Bounded) + +instance (Ord a, Bounded a) => Monoid (Min a) where + mempty = Min maxBound + Min a `mappend` Min b = Min (a `min` b) + +newtype Max a = Max { getMax :: a } deriving (Eq,Ord,Show,Read,Bounded) + +instance (Ord a, Bounded a) => Monoid (Max a) where + mempty = Max minBound + Max a `mappend` Max b = Max (a `max` b) + +newtype Priority a = Priority { getPriority :: Maybe a } deriving (Eq,Ord,Show,Read) + +instance (Ord a) => Monoid (Priority a) where + mempty = Priority Nothing + Priority a `mappend` Priority b = Priority (a `max` b) addfile ./dist/doc/html/lexical-monoids/Data-Monoid-Ord.html hunk ./dist/doc/html/lexical-monoids/Data-Monoid-Ord.html 1 + + +Data.Monoid.Ord
 lexical-monoids-0.1.1: Lexical monoidsSource codeContentsIndex
Data.Monoid.Ord
Documentation
newtype Min a Source
Constructors
Min
getMin :: a
show/hide Instances
Bounded a => Bounded (Min a)
Eq a => Eq (Min a)
Ord a => Ord (Min a)
Read a => Read (Min a)
Show a => Show (Min a)
(Ord a, Bounded a) => Monoid (Min a)
newtype Max a Source
Constructors
Max
getMax :: a
show/hide Instances
Bounded a => Bounded (Max a)
Eq a => Eq (Max a)
Ord a => Ord (Max a)
Read a => Read (Max a)
Show a => Show (Max a)
(Ord a, Bounded a) => Monoid (Max a)
newtype Priority a Source
Constructors
Priority
getPriority :: Maybe a
show/hide Instances
Eq a => Eq (Priority a)
Ord a => Ord (Priority a)
Read a => Read (Priority a)
Show a => Show (Priority a)
Ord a => Monoid (Priority a)
Produced by Haddock version 2.3.0
hunk ./dist/doc/html/lexical-monoids/doc-index.html 190 +>getMaxData.Monoid.OrdgetMinData.Monoid.OrdgetPriorityData.Monoid.OrdData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.WordsData.Monoid.Ord, Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.WordsMax1 (Type/Class)Data.Monoid.Ord2 (Data Constructor)Data.Monoid.OrdData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.WordsData.Monoid.Ord, Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.WordsMin1 (Type/Class)Data.Monoid.Ord2 (Data Constructor)Data.Monoid.OrdData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.WordsData.Monoid.Ord, Data.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Reducer.With, Data.Monoid.Generator, Data.Monoid.Lexical.WordsPriority1 (Type/Class)Data.Monoid.Ord2 (Data Constructor)Data.Monoid.OrdData.Monoid.Ord + + + +Data/Monoid/Ord.hs + + + +
module Data.Monoid.Ord 
+    ( module Data.Monoid
+    , Min(Min,getMin)
+    , Max(Max,getMax)
+    , Priority(Priority,getPriority)
+    ) where
+
+import Data.Monoid (Monoid, mappend, mempty)
+    
+newtype Min a = Min { getMin :: a } deriving (Eq,Ord,Show,Read,Bounded)
+
+instance (Ord a, Bounded a) => Monoid (Min a) where
+    mempty = Min maxBound
+    Min a `mappend` Min b = Min (a `min` b)
+
+newtype Max a = Max { getMax :: a } deriving (Eq,Ord,Show,Read,Bounded)
+
+instance (Ord a, Bounded a) => Monoid (Max a) where
+    mempty = Max minBound
+    Max a `mappend` Max b = Max (a `max` b)
+
+newtype Priority a = Priority { getPriority :: Maybe a } deriving (Eq,Ord,Show,Read)
+
+instance (Ord a) => Monoid (Priority a) where
+    mempty = Priority Nothing
+    Priority a `mappend` Priority b = Priority (a `max` b)
+
+ hunk ./lexical-monoids.cabal 21 + Data.Monoid.Ord }