Hello community, here is the log from the commit of package ghc-extra for openSUSE:Factory checked in at 2019-06-12 13:18:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-extra (Old) and /work/SRC/openSUSE:Factory/.ghc-extra.new.4811 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-extra" Wed Jun 12 13:18:38 2019 rev:21 rq:709200 version:1.6.17 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-extra/ghc-extra.changes 2019-04-28 20:12:47.294443281 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-extra.new.4811/ghc-extra.changes 2019-06-12 13:18:38.368569734 +0200 @@ -1,0 +2,14 @@ +Sat Jun 1 02:02:09 UTC 2019 - psim...@suse.com + +- Update extra to version 1.6.17. + 1.6.17, released 2019-05-31 + Add enumerate + +------------------------------------------------------------------- +Sun May 26 09:26:57 UTC 2019 - psim...@suse.com + +- Update extra to version 1.6.16. + 1.6.16, released 2019-05-25 + Add atomicModifyIORef_ and atomicModifyIORef'_ + +------------------------------------------------------------------- Old: ---- extra-1.6.15.tar.gz New: ---- extra-1.6.17.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-extra.spec ++++++ --- /var/tmp/diff_new_pack.rtoi06/_old 2019-06-12 13:18:38.780569546 +0200 +++ /var/tmp/diff_new_pack.rtoi06/_new 2019-06-12 13:18:38.792569540 +0200 @@ -19,7 +19,7 @@ %global pkg_name extra %bcond_with tests Name: ghc-%{pkg_name} -Version: 1.6.15 +Version: 1.6.17 Release: 0 Summary: Extra functions I use License: BSD-3-Clause ++++++ extra-1.6.15.tar.gz -> extra-1.6.17.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.6.15/CHANGES.txt new/extra-1.6.17/CHANGES.txt --- old/extra-1.6.15/CHANGES.txt 2019-04-22 20:26:14.000000000 +0200 +++ new/extra-1.6.17/CHANGES.txt 2019-05-31 23:19:21.000000000 +0200 @@ -1,5 +1,9 @@ Changelog for Extra +1.6.17, released 2019-05-31 + Add enumerate +1.6.16, released 2019-05-25 + Add atomicModifyIORef_ and atomicModifyIORef'_ 1.6.15, released 2019-04-22 #45, add NonEmpty.Extra for extra appending functions #42, add fromMaybeM diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.6.15/extra.cabal new/extra-1.6.17/extra.cabal --- old/extra-1.6.15/extra.cabal 2019-04-22 20:32:36.000000000 +0200 +++ new/extra-1.6.17/extra.cabal 2019-05-31 23:19:32.000000000 +0200 @@ -1,7 +1,7 @@ cabal-version: >= 1.18 build-type: Simple name: extra -version: 1.6.15 +version: 1.6.17 license: BSD3 license-file: LICENSE category: Development @@ -15,7 +15,7 @@ The module "Extra" documents all functions provided by this library. Modules such as "Data.List.Extra" provide extra functions over "Data.List" and also reexport "Data.List". Users are recommended to replace "Data.List" imports with "Data.List.Extra" if they need the extra functionality. homepage: https://github.com/ndmitchell/extra#readme bug-reports: https://github.com/ndmitchell/extra/issues -tested-with: GHC==8.6.4, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3 +tested-with: GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3 extra-doc-files: CHANGES.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.6.15/src/Data/IORef/Extra.hs new/extra-1.6.17/src/Data/IORef/Extra.hs --- old/extra-1.6.15/src/Data/IORef/Extra.hs 2019-02-25 16:55:23.000000000 +0100 +++ new/extra-1.6.17/src/Data/IORef/Extra.hs 2019-05-25 09:45:31.000000000 +0200 @@ -3,7 +3,8 @@ -- Some of these functions are available in later versions of GHC, but not all. module Data.IORef.Extra( module Data.IORef, - writeIORef', atomicWriteIORef' + writeIORef', atomicWriteIORef', + atomicModifyIORef_, atomicModifyIORef'_ ) where import Data.IORef @@ -21,3 +22,12 @@ atomicWriteIORef' ref x = do evaluate x atomicWriteIORef ref x + + +-- | Variant of 'atomicModifyIORef' which ignores the return value +atomicModifyIORef_ :: IORef a -> (a -> a) -> IO () +atomicModifyIORef_ r f = atomicModifyIORef r $ \v -> (f v, ()) + +-- | Variant of 'atomicModifyIORef'' which ignores the return value +atomicModifyIORef'_ :: IORef a -> (a -> a) -> IO () +atomicModifyIORef'_ r f = atomicModifyIORef' r $ \v -> (f v, ()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.6.15/src/Data/List/Extra.hs new/extra-1.6.17/src/Data/List/Extra.hs --- old/extra-1.6.15/src/Data/List/Extra.hs 2019-02-25 16:59:08.000000000 +0100 +++ new/extra-1.6.17/src/Data/List/Extra.hs 2019-05-31 22:05:33.000000000 +0200 @@ -19,6 +19,8 @@ breakOn, breakOnEnd, splitOn, split, chunksOf, -- * Basics notNull, list, unsnoc, cons, snoc, drop1, mconcatMap, + -- * Enum operations + enumerate, -- * List operations groupSort, groupSortOn, groupSortBy, nubOrd, nubOrdBy, nubOrdOn, @@ -139,6 +141,12 @@ snoc xs x = xs ++ [x] +-- | Enumerate all the values of an 'Enum', from 'minBound' to 'maxBound'. +-- +-- > enumerate == [False, True] +enumerate :: (Enum a, Bounded a) => [a] +enumerate = [minBound..maxBound] + -- | Take a number of elements from the end of the list. -- -- > takeEnd 3 "hello" == "llo" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.6.15/src/Extra.hs new/extra-1.6.17/src/Extra.hs --- old/extra-1.6.15/src/Extra.hs 2019-04-22 20:25:59.000000000 +0200 +++ new/extra-1.6.17/src/Extra.hs 2019-05-31 22:06:00.000000000 +0200 @@ -20,10 +20,10 @@ fromLeft, fromRight, fromEither, fromLeft', fromRight', eitherToMaybe, maybeToEither, mapLeft, mapRight, -- * Data.IORef.Extra -- | Extra functions available in @"Data.IORef.Extra"@. - writeIORef', atomicWriteIORef', + writeIORef', atomicWriteIORef', atomicModifyIORef_, atomicModifyIORef'_, -- * Data.List.Extra -- | Extra functions available in @"Data.List.Extra"@. - lower, upper, trim, trimStart, trimEnd, word1, line1, escapeHTML, escapeJSON, unescapeHTML, unescapeJSON, dropEnd, takeEnd, splitAtEnd, breakEnd, spanEnd, dropWhileEnd', takeWhileEnd, stripSuffix, stripInfix, stripInfixEnd, dropPrefix, dropSuffix, wordsBy, linesBy, breakOn, breakOnEnd, splitOn, split, chunksOf, notNull, list, unsnoc, cons, snoc, drop1, mconcatMap, groupSort, groupSortOn, groupSortBy, nubOrd, nubOrdBy, nubOrdOn, nubOn, groupOn, nubSort, nubSortBy, nubSortOn, maximumOn, minimumOn, disjoint, allSame, anySame, repeatedly, for, firstJust, concatUnzip, concatUnzip3, zipFrom, zipWithFrom, replace, merge, mergeBy, + lower, upper, trim, trimStart, trimEnd, word1, line1, escapeHTML, escapeJSON, unescapeHTML, unescapeJSON, dropEnd, takeEnd, splitAtEnd, breakEnd, spanEnd, dropWhileEnd', takeWhileEnd, stripSuffix, stripInfix, stripInfixEnd, dropPrefix, dropSuffix, wordsBy, linesBy, breakOn, breakOnEnd, splitOn, split, chunksOf, notNull, list, unsnoc, cons, snoc, drop1, mconcatMap, enumerate, groupSort, groupSortOn, groupSortBy, nubOrd, nubOrdBy, nubOrdOn, nubOn, groupOn, nubSort, nubSortBy, nubSortOn, maximumOn, minimumOn, disjoint, allSame, anySame, repeatedly, for, firstJust, concatUnzip, concatUnzip3, zipFrom, zipWithFrom, replace, merge, mergeBy, -- * Data.List.NonEmpty.Extra -- | Extra functions available in @"Data.List.NonEmpty.Extra"@. (|:), (|>), appendl, appendr, maximum1, minimum1, maximumBy1, minimumBy1, maximumOn1, minimumOn1, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-1.6.15/test/TestGen.hs new/extra-1.6.17/test/TestGen.hs --- old/extra-1.6.15/test/TestGen.hs 2019-04-22 20:25:59.000000000 +0200 +++ new/extra-1.6.17/test/TestGen.hs 2019-05-31 22:06:00.000000000 +0200 @@ -101,6 +101,7 @@ testGen "\\x xs -> uncons (cons x xs) == Just (x,xs)" $ \x xs -> uncons (cons x xs) == Just (x,xs) testGen "snoc \"tes\" 't' == \"test\"" $ snoc "tes" 't' == "test" testGen "\\xs x -> unsnoc (snoc xs x) == Just (xs,x)" $ \xs x -> unsnoc (snoc xs x) == Just (xs,x) + testGen "enumerate == [False, True]" $ enumerate == [False, True] testGen "takeEnd 3 \"hello\" == \"llo\"" $ takeEnd 3 "hello" == "llo" testGen "takeEnd 5 \"bye\" == \"bye\"" $ takeEnd 5 "bye" == "bye" testGen "takeEnd (-1) \"bye\" == \"\"" $ takeEnd (-1) "bye" == ""