commit ghc-ilist for openSUSE:Factory

2017-09-15 Thread root
Hello community,

here is the log from the commit of package ghc-ilist for openSUSE:Factory 
checked in at 2017-09-15 21:51:33

Comparing /work/SRC/openSUSE:Factory/ghc-ilist (Old)
 and  /work/SRC/openSUSE:Factory/.ghc-ilist.new (New)


Package is "ghc-ilist"

Fri Sep 15 21:51:33 2017 rev:3 rq:524847 version:0.3.1.0

Changes:

--- /work/SRC/openSUSE:Factory/ghc-ilist/ghc-ilist.changes  2017-08-31 
20:56:31.442906060 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-ilist.new/ghc-ilist.changes 2017-09-15 
21:51:34.571365417 +0200
@@ -1,0 +2,5 @@
+Thu Aug  3 15:38:38 UTC 2017 - psim...@suse.com
+
+- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf.
+
+---



Other differences:
--
++ ghc-ilist.spec ++
--- /var/tmp/diff_new_pack.gKj44Y/_old  2017-09-15 21:51:35.531230127 +0200
+++ /var/tmp/diff_new_pack.gKj44Y/_new  2017-09-15 21:51:35.531230127 +0200
@@ -23,12 +23,11 @@
 Release:0
 Summary:Optimised list functions for doing index-related things
 License:BSD-3-Clause
-Group:  Development/Languages/Other
-Url:https://hackage.haskell.org/package/%{pkg_name}
+Group:  Development/Libraries/Haskell
+URL:https://hackage.haskell.org/package/%{pkg_name}
 Source0:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-rpm-macros
-BuildRoot:  %{_tmppath}/%{name}-%{version}-build
 %if %{with tests}
 BuildRequires:  ghc-hspec-devel
 BuildRequires:  ghc-transformers-devel
@@ -42,7 +41,7 @@
 
 %package devel
 Summary:Haskell %{pkg_name} library development files
-Group:  Development/Libraries/Other
+Group:  Development/Libraries/Haskell
 Requires:   %{name} = %{version}-%{release}
 Requires:   ghc-compiler = %{ghc_version}
 Requires(post): ghc-compiler = %{ghc_version}
@@ -70,11 +69,9 @@
 %ghc_pkg_recache
 
 %files -f %{name}.files
-%defattr(-,root,root,-)
 %doc LICENSE
 
 %files devel -f %{name}-devel.files
-%defattr(-,root,root,-)
 %doc CHANGELOG.md
 
 %changelog




commit ghc-ilist for openSUSE:Factory

2017-08-31 Thread root
Hello community,

here is the log from the commit of package ghc-ilist for openSUSE:Factory 
checked in at 2017-08-31 20:56:30

Comparing /work/SRC/openSUSE:Factory/ghc-ilist (Old)
 and  /work/SRC/openSUSE:Factory/.ghc-ilist.new (New)


Package is "ghc-ilist"

Thu Aug 31 20:56:30 2017 rev:2 rq:513398 version:0.3.1.0

Changes:

--- /work/SRC/openSUSE:Factory/ghc-ilist/ghc-ilist.changes  2017-04-12 
18:07:14.694070606 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-ilist.new/ghc-ilist.changes 2017-08-31 
20:56:31.442906060 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:04:45 UTC 2017 - psim...@suse.com
+
+- Update to version 0.3.1.0.
+
+---

Old:

  ilist-0.2.0.0.tar.gz

New:

  ilist-0.3.1.0.tar.gz



Other differences:
--
++ ghc-ilist.spec ++
--- /var/tmp/diff_new_pack.Hks5hj/_old  2017-08-31 20:56:32.282788054 +0200
+++ /var/tmp/diff_new_pack.Hks5hj/_new  2017-08-31 20:56:32.310784120 +0200
@@ -19,7 +19,7 @@
 %global pkg_name ilist
 %bcond_with tests
 Name:   ghc-%{pkg_name}
-Version:0.2.0.0
+Version:0.3.1.0
 Release:0
 Summary:Optimised list functions for doing index-related things
 License:BSD-3-Clause
@@ -36,7 +36,9 @@
 
 %description
 Optimised list functions for doing index-related things. They're faster than
-common idioms in all cases, and sometimes they fuse better as well.
+common idioms in all cases, they avoid
+, and sometimes they
+fuse better as well.
 
 %package devel
 Summary:Haskell %{pkg_name} library development files

++ ilist-0.2.0.0.tar.gz -> ilist-0.3.1.0.tar.gz ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ilist-0.2.0.0/CHANGELOG.md 
new/ilist-0.3.1.0/CHANGELOG.md
--- old/ilist-0.2.0.0/CHANGELOG.md  2016-05-24 23:12:55.0 +0200
+++ new/ilist-0.3.1.0/CHANGELOG.md  2017-06-19 23:55:08.0 +0200
@@ -1,3 +1,11 @@
+# 0.3.1.0
+
+* Added `ireplicateM` and `ireplicateM_`.
+
+# 0.3.0.0
+
+* `ifind` now returns the index alongside with the value (same as in `lens`).
+
 # 0.2.0.0
 
 * `izipWithM` and `izipWithM_` have been generalised from `Monad` to 
`Applicative` (which mimics what was done in base-4.9).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ilist-0.2.0.0/bench/Functions.hs 
new/ilist-0.3.1.0/bench/Functions.hs
--- old/ilist-0.2.0.0/bench/Functions.hs2016-05-24 23:12:55.0 
+0200
+++ new/ilist-0.3.1.0/bench/Functions.hs2017-06-19 23:55:08.0 
+0200
@@ -1,6 +1,7 @@
 {-# LANGUAGE
 MagicHash,
-BangPatterns
+BangPatterns,
+CPP
   #-}
 
 
@@ -16,6 +17,7 @@
 import Data.List
 import Data.List.Index
 import Control.Monad
+import qualified Control.Loop as Loop
 
 
 indexed_zip :: [a] -> [(Int, a)]
@@ -94,6 +96,20 @@
   go (i +# 1#) xs
 {-# INLINE imapM__rec #-}
 
+#if __GLASGOW_HASKELL__ < 710
+ireplicateM__loop
+  :: (Monad m, Functor m) => Int -> (Int -> m a) -> m ()
+#else
+ireplicateM__loop
+  :: Monad m => Int -> (Int -> m a) -> m ()
+#endif
+ireplicateM__loop n f = Loop.numLoop 0 (n-1) (void . f)
+{-# INLINE ireplicateM__loop #-}
+
+ireplicateM__for :: Monad m => Int -> (Int -> m a) -> m ()
+ireplicateM__for n f = forM_ [0..n-1] f
+{-# INLINE ireplicateM__for #-}
+
 iall_zip :: (Int -> a -> Bool) -> [a] -> Bool
 iall_zip p xs = and (zipWith p [0..] xs)
 {-# INLINE iall_zip #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ilist-0.2.0.0/bench/Main.hs 
new/ilist-0.3.1.0/bench/Main.hs
--- old/ilist-0.2.0.0/bench/Main.hs 2016-05-24 23:12:55.0 +0200
+++ new/ilist-0.3.1.0/bench/Main.hs 2017-06-19 23:55:08.0 +0200
@@ -106,6 +106,16 @@
   bench "lens" $ nf (\n -> flip runState [] $ L.imapM_ (\i x -> modify 
((i+x):) >> return (i-x)) [0..n]) 10,
   bench "our" $ nf (\n -> flip runState [] $ imapM_ (\i x -> modify 
((i+x):) >> return (i-x)) [0..n]) 10 ] ],
 
+  bgroup "ireplicateM_" [
+  bgroup "Just" [
+  bench "loop" $ nf (\n -> ireplicateM__loop n (\i -> if i<5 then 
Just i else Nothing)) 10,
+  bench "for" $ nf (\n -> ireplicateM__for n (\i -> if i<5 then 
Just i else Nothing)) 10,
+  bench "our" $ nf (\n -> ireplicateM_ n (\i -> if i<5 then Just i 
else Nothing)) 10 ],
+  bgroup "State" [
+  bench "loop" $ nf (\n -> flip runState 0 $ ireplicateM__loop n (\i 
-> modify' (i+))) 10,
+  bench "for" $ nf (\n -> flip runState 0 $ ireplicateM__for n (\i -> 
modify' (i+))) 10,
+  bench "our" $ nf (\n -> flip runState 0 $ ireplicateM_ n (\i