[generator improvements ekmett@gmail.com**20090327052053] { hunk ./Data/Monoid/Generator.hs 10 - , Keys(Keys) - , Values(Values) + , Keys(Keys, getKeys) + , Values(Values, getValues) + , Char8(Char8, getChar8) hunk ./Data/Monoid/Generator.hs 19 -import qualified Data.ByteString as Strict --- import qualified Data.ByteString.Char8 as Strict8 -import qualified Data.ByteString.Lazy as Lazy --- import qualified Data.ByteString.Lazy.Char8 as Lazy8 +import qualified Data.ByteString as Strict (ByteString, foldl') +import qualified Data.ByteString.Char8 as Strict8 (foldl') +import qualified Data.ByteString.Lazy as Lazy (ByteString, toChunks) +import qualified Data.ByteString.Lazy.Char8 as Lazy8 (toChunks) hunk ./Data/Monoid/Generator.hs 24 +import Data.FingerTree (Measured, FingerTree) hunk ./Data/Monoid/Generator.hs 37 -import Data.Sequence (Seq) -import Data.FingerTree (Measured, FingerTree) hunk ./Data/Monoid/Generator.hs 57 -{- -instance Generator Strict8.ByteString where - type Elem Strict8.ByteString = Char - mapTo f = Strict8.foldl' (\a -> snoc a . f) +newtype Char8 c = Char8 { getChar8 :: c } hunk ./Data/Monoid/Generator.hs 59 -instance Generator Lazy.ByteString where - type Elem Lazy8.ByteString = Char - mapReduce f = fold . parMap rwhnf (mapReduce f) . Lazy8.toChunks --} +instance Generator (Char8 Strict.ByteString) where + type Elem (Char8 Strict.ByteString) = Char + mapTo f m = Strict8.foldl' (\a -> snoc a . f) m . getChar8 + +instance Generator (Char8 Lazy.ByteString) where + type Elem (Char8 Lazy.ByteString) = Char + mapReduce f = fold . parMap rwhnf (mapReduce f . Char8) . Lazy8.toChunks . getChar8 hunk ./Data/Monoid/Generator.hs 96 - type Elem (Map k v) = (k,v) + type Elem (Map k v) = (k,v) hunk ./Data/Monoid/Generator.hs 121 -{-- SPECIALIZE reduce :: (Char `Reducer` m) => Strict8.ByteString -> m --} -{-- SPECIALIZE reduce :: (Char `Reducer` m) => Lazy8.ByteString -> m --} +{-# SPECIALIZE reduce :: (Char `Reducer` m) => Char8 Strict.ByteString -> m #-} +{-# SPECIALIZE reduce :: (Char `Reducer` m) => Char8 Lazy.ByteString -> m #-} hunk ./dist/doc/html/monoids/Data-Monoid-Generator.html 345 +> (Char8 ByteString)Generator (Char8 ByteString)Generator
c
getKeys :: c
c
getValues :: c
newtype Char8 c Source
Constructors
Char8
getChar8 :: c
show/hide Instances
getChar8,Keys(Keys) -,Values(Values) -)where - -importData.Word(Word8) -importData.Text(Text) -importData.Foldable(fold,foldMap) -importqualifiedData.TextasText -importqualifiedData.ByteStringasStrict --- import qualified Data.ByteString.Char8 as Strict8 -importqualifiedData.ByteString.LazyasLazy --- import qualified Data.ByteString.Lazy.Char8 as Lazy8 -importqualifiedData.SequenceasSeq -importData.Sequence(Seq) -importqualifiedData.SetasSet -importData.Set(Set) -importqualifiedData.IntSetasIntSet -importData.IntSet(IntSet) -importqualifiedData.IntMapasIntMap -importData.IntMap(IntMap) -importqualifiedData.MapasMap -importData.Map(Map) - -importControl.Parallel.Strategies -importData.Monoid.Reducer -importData.Sequence(Seq) -importData.FingerTree(Measured,FingerTree) +,Keys(Keys,getKeys) +,Values(Values,getValues) +,Char8(Char8,getChar8) +)where + +importData.Word(Word8) +importData.Text(Text) +importData.Foldable(fold,foldMap) +importqualifiedData.TextasText +importqualifiedData.ByteStringasStrict(ByteString,foldl') +importqualifiedData.ByteString.Char8asStrict8(foldl') +importqualifiedData.ByteString.LazyasLazy(ByteString,toChunks) +importqualifiedData.ByteString.Lazy.Char8asLazy8(toChunks) +importqualifiedData.SequenceasSeq +importData.FingerTree(Measured,FingerTree) +importData.Sequence(Seq) +importqualifiedData.SetasSet +importData.Set(Set) +importqualifiedData.IntSetasIntSet +importData.IntSet(IntSet) +importqualifiedData.IntMapasIntMap +importData.IntMap(IntMap) +importqualifiedData.MapasMap +importData.Map(Map) + +importControl.Parallel.Strategies +importData.Monoid.Reducer hunk ./dist/doc/html/monoids/src/Data-Monoid-Generator.html 65 -{- -instance Generator Strict8.ByteString where - type Elem Strict8.ByteString = Char - mapTo f = Strict8.foldl' (\a -> snoc a . f) - -instance Generator Lazy.ByteString where - type Elem Lazy8.ByteString = Char - mapReduce f = fold . parMap rwhnf (mapReduce f) . Lazy8.toChunks --} +newtypeChar8c=Char8{getChar8::c} + +instanceGenerator(Char8Strict.ByteString)where +typeElem(Char8Strict.ByteString)=Char +mapTofm=Strict8.foldl'(\a->snoca.f)m.getChar8 + +instanceGenerator(Char8Lazy.ByteString)where +typeElem(Char8Lazy.ByteString)=Char +mapReducef=fold.parMaprwhnf(mapReducef.Char8).Lazy8.toChunks.getChar8 hunk ./dist/doc/html/monoids/src/Data-Monoid-Generator.html 104 -typeElem(Mapkv)=(k,v) +typeElem(Mapkv)=(k,v) hunk ./dist/doc/html/monoids/src/Data-Monoid-Generator.html 129 -{-- SPECIALIZE reduce :: (Char `Reducer` m) => Strict8.ByteString -> m --} -{-- SPECIALIZE reduce :: (Char `Reducer` m) => Lazy8.ByteString -> m --} +{-# SPECIALIZE reduce :: (Char `Reducer` m) => Char8 Strict.ByteString -> m #-} +{-# SPECIALIZE reduce :: (Char `Reducer` m) => Char8 Lazy.ByteString -> m #-} }
Generator (Char8 ByteString)
Generator (Char8 ByteString)
Char8
1 (Type/Class)
2 (Data Constructor)
getKeys
getValues