Hello community, here is the log from the commit of package ghc-base-compat for openSUSE:Factory checked in at 2016-04-22 16:24:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-base-compat (Old) and /work/SRC/openSUSE:Factory/.ghc-base-compat.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "ghc-base-compat" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-base-compat/ghc-base-compat.changes 2016-01-28 17:24:29.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-base-compat.new/ghc-base-compat.changes 2016-04-22 16:25:17.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Apr 12 09:31:17 UTC 2016 - mimi.vx@gmail.com + +- update to 0.9.1 +* Use the more efficient version of replicateM and replicateM_ introduced in base-4.9 + +------------------------------------------------------------------- Old: ---- base-compat-0.9.0.tar.gz New: ---- base-compat-0.9.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-base-compat.spec ++++++ --- /var/tmp/diff_new_pack.EGGUhS/_old 2016-04-22 16:25:17.000000000 +0200 +++ /var/tmp/diff_new_pack.EGGUhS/_new 2016-04-22 16:25:17.000000000 +0200 @@ -20,7 +20,7 @@ %bcond_with tests Name: ghc-base-compat -Version: 0.9.0 +Version: 0.9.1 Release: 0 Summary: A compatibility layer for base Group: System/Libraries ++++++ base-compat-0.9.0.tar.gz -> base-compat-0.9.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-compat-0.9.0/CHANGES.markdown new/base-compat-0.9.1/CHANGES.markdown --- old/base-compat-0.9.0/CHANGES.markdown 2016-01-15 03:45:49.000000000 +0100 +++ new/base-compat-0.9.1/CHANGES.markdown 2016-04-11 16:06:42.000000000 +0200 @@ -1,3 +1,7 @@ +## Changes in 0.9.1 + - Use the more efficient version of `replicateM` and `replicateM_` introduced + in `base-4.9` + ## Changes in 0.9.0 - Sync with `base-4.9`/GHC 8.0 - Weakened `RealFloat` constraints on `realPart`, `imagPart`, `conjugate`, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-compat-0.9.0/LICENSE new/base-compat-0.9.1/LICENSE --- old/base-compat-0.9.0/LICENSE 2016-01-15 03:45:49.000000000 +0100 +++ new/base-compat-0.9.1/LICENSE 2016-04-11 16:06:42.000000000 +0200 @@ -1,4 +1,4 @@ -Copyright (c) 2012-2015 Simon Hengel <sol@typeful.net> and Ryan Scott <ryan.gl.scott@gmail.com> +Copyright (c) 2012-2016 Simon Hengel <sol@typeful.net> and Ryan Scott <ryan.gl.scott@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-compat-0.9.0/README.markdown new/base-compat-0.9.1/README.markdown --- old/base-compat-0.9.0/README.markdown 2016-01-15 03:45:49.000000000 +0100 +++ new/base-compat-0.9.1/README.markdown 2016-04-11 16:06:42.000000000 +0200 @@ -194,6 +194,9 @@ * [`bifunctors`](http://hackage.haskell.org/package/bifunctors) for the [`Bifunctor`](http://hackage.haskell.org/package/base-4.8.0.0/docs/Data-Bifunctor.html#t:B...) type class, introduced in `base-4.8.0.0` +* [`fail`](http://hackage.haskell.org/package/fail) + for the [`MonadFail`](http://hackage.haskell.org/package/base-4.9.0.0/docs/Control-Monad-Fail.html...) + type class, introduced in `base-4.9.0.0` * [`generic-deriving`](http://hackage.haskell.org/package/generic-deriving) for everything in the [`GHC.Generics`](http://hackage.haskell.org/package/base-4.8.0.0/docs/GHC-Generics.html) module, introduced to `ghc-prim` in GHC 7.2 (and later moved to `base-4.6.0.0`) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-compat-0.9.0/base-compat.cabal new/base-compat-0.9.1/base-compat.cabal --- old/base-compat-0.9.0/base-compat.cabal 2016-01-15 03:45:49.000000000 +0100 +++ new/base-compat-0.9.1/base-compat.cabal 2016-04-11 16:06:42.000000000 +0200 @@ -1,10 +1,10 @@ name: base-compat -version: 0.9.0 +version: 0.9.1 license: MIT license-file: LICENSE -copyright: (c) 2012-2015 Simon Hengel, - (c) 2014 João Cristóvão, - (c) 2015 Ryan Scott +copyright: (c) 2012-2016 Simon Hengel, + (c) 2014-2016 João Cristóvão, + (c) 2015-2016 Ryan Scott author: Simon Hengel <sol@typeful.net>, João Cristóvão <jmacristovao@gmail.com>, Ryan Scott <ryan.gl.scott@gmail.com> @@ -38,6 +38,7 @@ , GHC == 7.6.1, GHC == 7.6.2, GHC == 7.6.3 , GHC == 7.8.1, GHC == 7.8.2, GHC == 7.8.3, GHC == 7.8.4 , GHC == 7.10.1, GHC == 7.10.2, GHC == 7.10.3 + , GHC == 8.0.1 extra-source-files: CHANGES.markdown, README.markdown source-repository head diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-compat-0.9.0/src/Control/Monad/Compat.hs new/base-compat-0.9.1/src/Control/Monad/Compat.hs --- old/base-compat-0.9.0/src/Control/Monad/Compat.hs 2016-01-15 03:45:49.000000000 +0100 +++ new/base-compat-0.9.1/src/Control/Monad/Compat.hs 2016-04-11 16:06:42.000000000 +0200 @@ -171,14 +171,22 @@ {-# INLINEABLE replicateM #-} {-# SPECIALISE replicateM :: Int -> IO a -> IO [a] #-} {-# SPECIALISE replicateM :: Int -> Maybe a -> Maybe [a] #-} -replicateM 0 _ = pure [] -replicateM n x = liftA2 (:) x (replicateM (pred n) x) +replicateM cnt0 f = + loop cnt0 + where + loop cnt + | cnt <= 0 = pure [] + | otherwise = liftA2 (:) f (loop (cnt - 1)) -- | Like 'replicateM', but discards the result. replicateM_ :: (Applicative m) => Int -> m a -> m () {-# INLINEABLE replicateM_ #-} {-# SPECIALISE replicateM_ :: Int -> IO a -> IO () #-} {-# SPECIALISE replicateM_ :: Int -> Maybe a -> Maybe () #-} -replicateM_ 0 _ = pure () -replicateM_ n x = x *> replicateM_ (pred n) x +replicateM_ cnt0 f = + loop cnt0 + where + loop cnt + | cnt <= 0 = pure () + | otherwise = f *> loop (cnt - 1) #endif