packages feed

grouped-list 0.2.1.0 → 0.2.1.1

raw patch · 3 files changed

+9/−5 lines, 3 filesdep ~base

Dependency ranges changed: base

Files

Data/GroupedList.hs view
@@ -62,7 +62,7 @@     ) import qualified Prelude as Prelude import Data.Pointed-import Data.Foldable (Foldable (..), toList, foldrM)+import Data.Foldable (Foldable (..), toList) import Data.List (group) import Data.Sequence (Seq) import qualified Data.Sequence as S@@ -71,6 +71,7 @@ import Control.Arrow (second) import qualified Data.Map.Strict as M import Data.Functor.Identity (Identity (..))+import Control.Monad (foldM)  ------------------------------------------------------------------ ------------------------------------------------------------------@@ -467,9 +468,9 @@    -> acc -- ^ Initial value of the accumulator.    -> Grouped a    -> m (acc, Grouped b)-traverseGroupedByGroupAccum f acc0 (Grouped gs) = foldrM go (acc0, mempty) gs+traverseGroupedByGroupAccum f acc0 (Grouped gs) = foldM go (acc0, mempty) gs   where-    go g (acc, gd) = second (<> gd) <$> f acc g+    go (acc, gd) g = second (gd <>) <$> f acc g  ------------------------------------------------------------------ ------------------------------------------------------------------
grouped-list.cabal view
@@ -1,5 +1,5 @@ name:                grouped-list-version:             0.2.1.0+version:             0.2.1.1 synopsis:            Grouped lists. Equal consecutive elements are grouped. description:   Grouped lists work like regular lists, except for two conditions:@@ -30,7 +30,7 @@   default-language: Haskell2010   exposed-modules: Data.GroupedList   build-depends:-      base >= 4.7 && < 4.9+      base >= 4.8 && < 4.9     , containers     , pointed     , deepseq
test/examples.hs view
@@ -7,6 +7,7 @@ import Data.GroupedList (Grouped) import qualified Data.GroupedList as GL import Control.Monad (unless)+import Data.Functor.Identity  (=:) :: (Show a, Eq a) => a -> a -> IO () x =: y = unless (x == y) $ do@@ -59,3 +60,5 @@     =: [1,2,3,3]   GL.zipWith (+) [1,2,1,1] [2,1,1,2]     =: [3,3,2,3]+  runIdentity (fmap snd $ GL.traverseGroupedByGroupAccum (\acc g -> Identity (acc+1, GL.map (+acc) $ GL.fromGroup g)) 0 [1,2,3,3,4])+    =: [1,3,5,5,7]