[ring restructuring and documentation ekmett@gmail.com**20090327090844] { hunk ./Data/Ring/Bool.hs 1 -{-# OPTIONS_GHC -fno-warn-orphans #-} -module Data.Ring.Bool - ( module Data.Ring - ) where - -import Data.Ring rmfile ./Data/Ring/Bool.hs hunk ./Data/Ring/Semi.hs 1 -{-# OPTIONS_GHC -fno-warn-orphans #-} -module Data.Semiring - ( module Data.Seminearring +module Data.Ring.Semi + ( module Data.Ring.Semi.Near + , Semiring hunk ./Data/Ring/Semi.hs 6 -import Data.Seminearring +import Data.Ring.Semi.Near hunk ./Data/Ring/Semi/Ord.hs 1 +{-# LANGUAGE FlexibleInstances, FlexibleContexts, MultiParamTypeClasses, GeneralizedNewtypeDeriving #-} hunk ./Data/Ring/Semi/Ord.hs 21 +-- import Control.Applicative +import Control.Functor.Pointed hunk ./Data/Ring/Semi/Ord.hs 27 -newtype a = Order { getOrder :: a } deriving (Eq,Ord,Read,Show,Bounded,Ord,Arbitrary) +newtype Order a = Order { getOrder :: a } deriving (Eq,Ord,Read,Show,Bounded,Arbitrary) hunk ./Data/Ring/Semi/Ord.hs 39 - hunk ./Data/Ring/Semi/Ord.hs 51 -newtype Priority a = MinBound | Priority a | MaxBound deriving (Eq,Read,Show) + + + + + + +data Priority a = MinBound | Priority a | MaxBound deriving (Eq,Read,Show) hunk ./Data/Ring/Semi/Ord.hs 84 - arbitrary = frequency [ (1 ,pure MinBound) - , (10, Priority <$> arbitrary) - , (1 ,pure MaxBound) ] + arbitrary = frequency [ (1 ,return MinBound) + , (10, fmap Priority arbitrary) + , (1 ,return MaxBound) ] hunk ./Data/Ring/Semi/Ord.hs 103 - unit = Reducer + unit = Priority hunk ./Data/Ring/Semi/Ord.hs 115 - fmap f Priority a = Priority (f a) + fmap f (Priority a) = Priority (f a) hunk ./Data/Ring/Sugar.hs 1 -module Data.Seminearring.Sugar +module Data.Ring.Sugar hunk ./Data/Ring/Sugar.hs 3 - , module Data.Seminearring + , module Data.Ring.Semi.Near hunk ./Data/Ring/Sugar.hs 7 -import Data.Seminearring +import Data.Ring.Semi.Near hunk ./dist/doc/html/monoids/Data-Monoid-FromString.html 207 -> m => m => Ord a => MultiplicativeMonoid (Priority a)(Bounded a, Ord a) => MultiplicativeMonoid (Order a)Ord a => Reducer (MaxPriority a) (Priority a)Ord a => Reducer (MinPriority a) (Priority a)Ord a => Reducer a (Priority a)(Bounded a, Ord a) => Reducer a (Order a)Ord a => Reducer (MinPriority a) (Priority a)Ord a => Reducer (MinPriority a) (Priority a)Ord a => Reducer (MaxPriority a) (Priority a)Ord a => Reducer (MaxPriority a) (Priority a) a => a => + +Data.Ring.Semi.Near
 monoids-0.1.2: Lots of MonoidsSource codeContentsIndex
Data.Ring.Semi.Near
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/Data-Ring-Semi-Ord.html hunk ./dist/doc/html/monoids/Data-Ring-Semi-Ord.html 1 + + +Data.Ring.Semi.Ord
 monoids-0.1.2: Lots of MonoidsSource codeContentsIndex
Data.Ring.Semi.Ord
Documentation
module Data.Ring.Semi
newtype Order a Source
Constructors
Order
getOrder :: a
show/hide Instances
Functor Order
Pointed Order
Copointed Order
(Bounded a, Ord a) => Reducer a (Order a)
Bounded a => Bounded (Order a)
Eq a => Eq (Order a)
Ord a => Ord (Order a)
Read a => Read (Order a)
Show a => Show (Order a)
Arbitrary a => Arbitrary (Order a)
(Bounded a, Ord a) => Monoid (Order a)
(Bounded a, Ord a) => MultiplicativeMonoid (Order a)
(Bounded a, Ord a) => Seminearring (Order a)
(Bounded a, Ord a) => Semiring (Order a)
data Priority a Source
Constructors
MinBound
Priority a
MaxBound
show/hide Instances
Produced by Haddock version 2.3.0
addfile ./dist/doc/html/monoids/Data-Ring-Semi.html hunk ./dist/doc/html/monoids/Data-Ring-Semi.html 1 + + +Data.Ring.Semi
 monoids-0.1.2: Lots of MonoidsSource codeContentsIndex
Data.Ring.Semi
Documentation
module Data.Ring.Semi.Near
class Seminearring a => Semiring a Source
show/hide Instances
Produced by Haddock version 2.3.0
hunk ./dist/doc/html/monoids/Data-Ring-Sugar.html 83 ->module
Data.Group.Sugarmodule Data.Ringmodule Data.Ring.Semi.Nearmodule Data.Seminearringmodule Data.Ring.Semi, Data.Seminearring.Sugar, Data.Ring.Sugar, Data.Ring.Sugar, Data.Monoid.Multiplicative.Sugar, Data.Seminearring.Sugar, Data.Group.Sugar, Data.Ring.Sugar, Data.Monoid.Multiplicative.Sugar, Data.Ring.Sugar, Data.Group.Sugar, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumgetOrderData.Ring.Semi.OrdData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.Sugar, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.Sugar, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Ord, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Map, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.IntMap, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Ord, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Map, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.IntMap, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumMaxBoundData.Ring.Semi.OrdData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Ord, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Map, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.IntMap, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Ord, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Map, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.IntMap, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumMinBoundData.Ring.Semi.Ord, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.Sugar, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Ord, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Map, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.IntMap, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Ord, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Map, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.IntMap, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Categorical, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.Sugar, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.Sugar, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.Sugar, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Ring, Data.Ring.FromNumOrder1 (Type/Class)Data.Ring.Semi.Ord2 (Data Constructor)Data.Ring.Semi.Ord, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.Sugar, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumPriority1 (Type/Class)Data.Ring.Semi.Ord2 (Data Constructor)Data.Ring.Semi.OrdData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Seminearring, Data.Seminearring.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Ring, Data.Ring.FromNumSemiringData.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.SugarData.Monoid.Reducer, Data.Monoid.Reducer.Char, Data.Monoid.Reducer.With, Data.Monoid.Unit, Data.Monoid.Monad.Writer.Strict, Data.Monoid.Monad.Writer.Lazy, Data.Monoid.Monad.ST.Strict, Data.Monoid.Monad.STM, Data.Monoid.Monad.ST.Lazy, Data.Monoid.Monad.State.Strict, Data.Monoid.Monad.State.Lazy, Data.Monoid.Monad.RWS.Strict, Data.Monoid.Monad.RWS.Lazy, Data.Monoid.Monad.Reader, Data.Monoid.Monad.IO, Data.Monoid.Monad.Identity, Data.Monoid.Monad.Either, Data.Monoid.Monad.Cont, Data.Monoid.Monad, Data.Monoid.Lexical.UTF8.Decoder, Data.Monoid.Lexical.SourcePosition, Data.Monoid.Generator, Data.Monoid.Lexical.Words, Data.Monoid.Reducer.Sugar, Data.Monoid.Applicative, Data.Monoid.Generator.Combinators, Data.Monoid.Additive, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.Sugar, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Ring, Data.Ring.FromNum, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Seminearring, Data.Seminearring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNum, Data.Ring.Sugar, Data.Monoid.Additive.Sugar, Data.Monoid.Multiplicative, Data.Monoid.Multiplicative.Sugar, Data.Monoid.Multiplicative.Transformer, Data.Ring.Semi.Near, Data.Ring.Semi, Data.Ring.Semi.Ord, Data.Ring.Sugar, Data.Group, Data.Group.Sugar, Data.Ring, Data.Ring.FromNumData.Ring.Sugarshow/hideData.Ring.SemiData.Seminearring.SugarData.Ring.Sugar + + + +Data/Ring/Semi/Near.hs + + + +
module Data.Ring.Semi.Near
+    ( 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)
+
+ addfile ./dist/doc/html/monoids/src/Data-Ring-Semi-Ord.html hunk ./dist/doc/html/monoids/src/Data-Ring-Semi-Ord.html 1 + + + + +Data/Ring/Semi/Ord.hs + + + +
{-# LANGUAGE FlexibleInstances, FlexibleContexts, MultiParamTypeClasses, GeneralizedNewtypeDeriving #-}
+----------------------------------------------------------------------
+---- |
+---- Module      :  Data.Ring.Semi.Ord
+---- Copyright   :  (c) Edward Kmett 2009, Conal Elliott 2008
+---- License     :  BSD3
+---- 
+---- Maintainer  :  ekmett@gmail.com
+---- Stability   :  experimental
+---- 
+---- ordered types as semi-rings
+------------------------------------------------------------------------
+
+module Data.Ring.Semi.Ord
+    ( module Data.Ring.Semi
+    , Order(Order,getOrder)
+    , Priority(MinBound,Priority,MaxBound)
+    ) where
+
+import Test.QuickCheck
+-- import Control.Applicative
+import Control.Functor.Pointed
+import Data.Ring.Semi
+import Data.Monoid.Ord
+import Data.Monoid.Reducer
+
+newtype Order a = Order { getOrder :: a } deriving (Eq,Ord,Read,Show,Bounded,Arbitrary)
+
+instance (Bounded a, Ord a) => Monoid (Order a) where
+    mappend = max
+    mempty = minBound
+
+instance (Bounded a, Ord a) => MultiplicativeMonoid (Order a) where
+    times = min
+    one = maxBound
+    
+instance (Bounded a, Ord a) => Seminearring (Order a)
+instance (Bounded a, Ord a) => Semiring (Order a)
+instance (Bounded a, Ord a) => Reducer a (Order a) where
+    unit = Order
+
+instance Functor Order where
+    fmap f (Order a) = Order (f a)
+
+instance Pointed Order where
+    point = Order
+
+instance Copointed Order where
+    extract = getOrder
+
+
+
+
+
+
+
+data Priority a = MinBound | Priority a | MaxBound deriving (Eq,Read,Show)
+
+instance Bounded (Priority a) where
+    minBound = MinBound
+    maxBound = MaxBound
+
+instance Ord a => Ord (Priority a) where
+  MinBound   <= _         = True
+  Priority _ <= MinBound  = False
+  Priority a <= Priority b = a <= b
+  Priority _ <= MaxBound  = True
+  MaxBound   <= MaxBound  = True
+  MaxBound   <= _         = False
+
+  MinBound   `min` _          = MinBound
+  _          `min` MinBound   = MinBound
+  Priority a `min` Priority b = Priority (a `min` b)
+  u          `min` MaxBound   = u
+  MaxBound   `min` v          = v
+  
+  MinBound   `max` v          = v
+  u          `max` MinBound   = u
+  Priority a `max` Priority b = Priority (a `max` b)
+  _          `max` MaxBound   = MaxBound
+  MaxBound   `max` _          = MaxBound
+
+instance Arbitrary a => Arbitrary (Priority a) where
+  arbitrary = frequency [ (1 ,return MinBound)
+                        , (10, fmap Priority arbitrary)
+                        , (1 ,return MaxBound) ]
+  coarbitrary MinBound    = variant 0
+  coarbitrary (Priority a) = variant 1 . coarbitrary a
+  coarbitrary MaxBound    = variant 2
+
+instance Ord a => Monoid (Priority a) where
+    mappend = max
+    mempty = minBound
+
+instance Ord a => MultiplicativeMonoid (Priority a) where
+    times = min
+    one = maxBound
+
+instance Ord a => Seminearring (Priority a)
+instance Ord a => Semiring (Priority a)
+
+instance Ord a => Reducer a (Priority a) where
+    unit = Priority
+
+instance Ord a => Reducer (MinPriority a) (Priority a) where
+    unit (MinPriority Nothing)  = MaxBound
+    unit (MinPriority (Just x)) = Priority x
+
+instance Ord a => Reducer (MaxPriority a) (Priority a) where
+    unit (MaxPriority Nothing)  = MinBound
+    unit (MaxPriority (Just x)) = Priority x
+
+instance Functor Priority where
+    fmap _ MaxBound = MaxBound
+    fmap f (Priority a) = Priority (f a)
+    fmap _ MinBound = MinBound
+
+instance Pointed Priority where
+    point = Priority
+
+ addfile ./dist/doc/html/monoids/src/Data-Ring-Semi.html hunk ./dist/doc/html/monoids/src/Data-Ring-Semi.html 1 + + + + +Data/Ring/Semi.hs + + + +
module Data.Ring.Semi
+    ( module Data.Ring.Semi.Near
+    , Semiring
+    ) where
+
+import Data.Ring.Semi.Near
+
+class Seminearring a => Semiring a
+
+
+ hunk ./dist/doc/html/monoids/src/Data-Ring-Sugar.html 11 -,moduleData.Group.Sugar -,moduleData.Ring -)where - -importData.Monoid.Multiplicative.Sugar -importData.Group.Sugar -importData.Ring - +,moduleData.Ring.Semi.Near +)where + +importData.Monoid.Multiplicative.Sugar +importData.Ring.Semi.Near hunk ./dist/doc/html/monoids/src/Data-Ring.html 12 -,moduleData.Seminearring +,moduleData.Ring.Semi hunk ./dist/doc/html/monoids/src/Data-Ring.html 16 -importData.Seminearring +importData.Ring.Semi hunk ./dist/doc/html/monoids/src/Data-Ring.html 18 -class(Groupa,Seminearringa)=>Ringa +class(Groupa,Semiringa)=>Ringa hunk ./dist/doc/html/monoids/src/Data-Ring.html 20 -instanceMonoidBoolwhere -mempty=False -mappend=(||) - -instanceGroupBoolwhere -gnegate=not +-- todo: the Boolean Ring (with symmetric difference as addition) +-- use Data.Ring.Semi.Ord.Order Bool to get the and/or based Boolean distribuive lattice semiring + +instanceMonoidBoolwhere +mempty=False +a`mappend`b=(a||b)&&not(a&&b) hunk ./dist/doc/html/monoids/src/Data-Ring.html 27 -instanceMultiplicativeMonoidBoolwhere -one=True -times=(&&) - -instanceSeminearringBool - -instanceRingBool +instanceGroupBoolwhere +gnegate=not + +instanceMultiplicativeMonoidBoolwhere +one=True +times=(&&) + +instanceSeminearringBool +instanceSemiringBool +instanceRingBool hunk ./monoids.cabal 17 - build-depends: base >= 4, text, fingertree, bytestring, category-extras, parallel, containers, mtl, stm, bitset + build-depends: base >= 4, text, fingertree, bytestring, category-extras, parallel, containers, mtl, stm, bitset, QuickCheck hunk ./monoids.cabal 59 + Data.Ring.Semi + Data.Ring.Semi.Near + Data.Ring.Semi.Ord hunk ./monoids.cabal 64 - Data.Seminearring - Data.Seminearring.Sugar }
Data.Ring.Semi.Nearshow/hideData.SeminearringData.Ring.Semi.Ord