Hello community,
here is the log from the commit of package ghc-vector-builder for
openSUSE:Factory checked in at 2018-08-20 16:21:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-vector-builder (Old)
and /work/SRC/openSUSE:Factory/.ghc-vector-builder.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-vector-builder"
Mon Aug 20 16:21:02 2018 rev:2 rq:630376 version:0.3.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-vector-builder/ghc-vector-builder.changes
2018-07-25 16:10:21.505596861 +0200
+++
/work/SRC/openSUSE:Factory/.ghc-vector-builder.new/ghc-vector-builder.changes
2018-08-20 16:21:05.152963607 +0200
@@ -1,0 +2,6 @@
+Fri Aug 17 09:43:14 UTC 2018 - [email protected]
+
+- Update vector-builder to version 0.3.6.
+ Upstream does not provide a change log file.
+
+-------------------------------------------------------------------
Old:
----
vector-builder-0.3.4.1.tar.gz
New:
----
vector-builder-0.3.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-vector-builder.spec ++++++
--- /var/tmp/diff_new_pack.iWebch/_old 2018-08-20 16:21:05.588964224 +0200
+++ /var/tmp/diff_new_pack.iWebch/_new 2018-08-20 16:21:05.588964224 +0200
@@ -19,7 +19,7 @@
%global pkg_name vector-builder
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.3.4.1
+Version: 0.3.6
Release: 0
Summary: Vector builder
License: MIT
@@ -33,11 +33,8 @@
BuildRequires: ghc-vector-devel
%if %{with tests}
BuildRequires: ghc-QuickCheck-devel
-BuildRequires: ghc-bug-devel
-BuildRequires: ghc-criterion-devel
-BuildRequires: ghc-foldl-devel
+BuildRequires: ghc-attoparsec-devel
BuildRequires: ghc-quickcheck-instances-devel
-BuildRequires: ghc-rebase-devel
BuildRequires: ghc-rerebase-devel
BuildRequires: ghc-tasty-devel
BuildRequires: ghc-tasty-hunit-devel
++++++ vector-builder-0.3.4.1.tar.gz -> vector-builder-0.3.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/vector-builder-0.3.4.1/foldl-benchmark/Main.hs
new/vector-builder-0.3.6/foldl-benchmark/Main.hs
--- old/vector-builder-0.3.4.1/foldl-benchmark/Main.hs 2017-11-12
12:31:51.000000000 +0100
+++ new/vector-builder-0.3.6/foldl-benchmark/Main.hs 1970-01-01
01:00:00.000000000 +0100
@@ -1,43 +0,0 @@
-module Main where
-
-import Prelude
-import Criterion
-import Criterion.Main
-import qualified Control.Foldl as A
-import qualified Data.Vector as F
-import qualified Data.Vector.Unboxed as G
-import qualified VectorBuilder.Builder as N
-import qualified VectorBuilder.Vector as O
-
-
-main =
- defaultMain [boxed, unboxed]
- where
- comparisons name builderSubject growingSubject =
- bgroup name (map comparison sizes)
- where
- sizes =
- [1000, 10000, 100000, 1000000, 10000000]
- comparison size =
- bgroup (show size)
- [
- bench "builder" (nf builderSubject input),
- bench "growing" (nf growingSubject input)
- ]
- where
- input =
- [0..size]
- boxed =
- comparisons "boxed" builderSubject growingSubject
- where
- builderSubject input =
- A.fold (A.foldMap N.singleton O.build) input :: Vector Int
- growingSubject input =
- runST (A.foldM A.vector input) :: Vector Int
- unboxed =
- comparisons "unboxed" builderSubject growingSubject
- where
- builderSubject input =
- A.fold (A.foldMap N.singleton O.build) input :: G.Vector Int
- growingSubject input =
- runST (A.foldM A.vector input) :: G.Vector Int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/vector-builder-0.3.4.1/foldl-profiling/Main.hs
new/vector-builder-0.3.6/foldl-profiling/Main.hs
--- old/vector-builder-0.3.4.1/foldl-profiling/Main.hs 2017-11-12
12:31:51.000000000 +0100
+++ new/vector-builder-0.3.6/foldl-profiling/Main.hs 1970-01-01
01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-module Main where
-
-import Prelude
-import qualified Data.Vector.Unboxed as V
-import qualified Control.Foldl as L
-import qualified VectorBuilder.Builder as N
-import qualified VectorBuilder.Vector as O
-
-main :: IO ()
-main = (print . V.maximum) (L.fold fold input) where
- input = [1..1000000] :: [Int]
- fold = L.Fold step begin done where
- begin = N.empty
- step x a = x <> N.singleton a
- done = O.build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/vector-builder-0.3.4.1/library/VectorBuilder/Alternative.hs
new/vector-builder-0.3.6/library/VectorBuilder/Alternative.hs
--- old/vector-builder-0.3.4.1/library/VectorBuilder/Alternative.hs
1970-01-01 01:00:00.000000000 +0100
+++ new/vector-builder-0.3.6/library/VectorBuilder/Alternative.hs
2018-08-03 14:51:04.000000000 +0200
@@ -0,0 +1,30 @@
+{-|
+Alternative utilities.
+For instance, they can be applied with parsing libraries.
+-}
+module VectorBuilder.Alternative
+where
+
+import VectorBuilder.Prelude hiding (many, some)
+import Data.Vector (Vector)
+import qualified VectorBuilder.Builder as A
+import qualified VectorBuilder.Vector as B
+
+
+{-# INLINABLE many #-}
+many :: Alternative m => m a -> m (Vector a)
+many = fmap B.build . manyBuilder
+
+{-# INLINABLE manyBuilder #-}
+manyBuilder :: Alternative m => m a -> m (A.Builder a)
+manyBuilder m = let
+ loop = ((<>) <$> A.singleton <$> m <*> loop) <|> pure mempty
+ in loop
+
+{-# INLINABLE some #-}
+some :: Alternative m => m a -> m (Vector a)
+some m = B.build <$> someBuilder m
+
+{-# INLINABLE someBuilder #-}
+someBuilder :: Alternative m => m a -> m (A.Builder a)
+someBuilder m = (<>) <$> A.singleton <$> m <*> manyBuilder m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/vector-builder-0.3.4.1/tests/Main/Sample.hs
new/vector-builder-0.3.6/tests/Main/Sample.hs
--- old/vector-builder-0.3.4.1/tests/Main/Sample.hs 2017-11-12
12:31:51.000000000 +0100
+++ new/vector-builder-0.3.6/tests/Main/Sample.hs 2018-08-03
14:51:04.000000000 +0200
@@ -1,9 +1,9 @@
module Main.Sample where
-import Rebase.Prelude
+import Prelude
import Test.QuickCheck.Instances
import qualified VectorBuilder.Builder as A
-import qualified Rebase.Data.Vector as B
+import qualified Data.Vector as B
import qualified Test.Tasty.QuickCheck as C
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/vector-builder-0.3.4.1/tests/Main.hs
new/vector-builder-0.3.6/tests/Main.hs
--- old/vector-builder-0.3.4.1/tests/Main.hs 2017-11-12 12:31:51.000000000
+0100
+++ new/vector-builder-0.3.6/tests/Main.hs 2018-08-03 14:51:04.000000000
+0200
@@ -1,13 +1,16 @@
module Main where
-import Rebase.Prelude
+import Prelude
import Test.Tasty
import Test.Tasty.Runners
import Test.Tasty.HUnit
import Test.Tasty.QuickCheck
import qualified VectorBuilder.Builder as A
import qualified VectorBuilder.Vector as B
+import qualified VectorBuilder.Alternative as F
import qualified Main.Sample as C
+import qualified Data.Attoparsec.Text as D
+import qualified Data.Vector as E
main =
@@ -17,5 +20,13 @@
testProperty "" $ \(samples :: [C.Sample Int]) ->
foldMap C.toVector samples ===
B.build (foldMap C.toBuilder samples)
+ ,
+ testCase "Alternative.some" $ assertEqual ""
+ (Right (E.fromList "1234"))
+ (D.parseOnly (F.some D.anyChar) "1234")
+ ,
+ testCase "Alternative.some on empty" $ assertEqual ""
+ (Left "not enough input")
+ (D.parseOnly (F.some D.anyChar) "")
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/vector-builder-0.3.4.1/vector-builder.cabal
new/vector-builder-0.3.6/vector-builder.cabal
--- old/vector-builder-0.3.4.1/vector-builder.cabal 2017-11-12
12:31:51.000000000 +0100
+++ new/vector-builder-0.3.6/vector-builder.cabal 2018-08-03
14:51:04.000000000 +0200
@@ -1,7 +1,7 @@
name:
vector-builder
version:
- 0.3.4.1
+ 0.3.6
synopsis:
Vector builder
description:
@@ -70,15 +70,16 @@
VectorBuilder.MVector
VectorBuilder.Vector
VectorBuilder.MonadPlus
+ VectorBuilder.Alternative
other-modules:
VectorBuilder.Prelude
VectorBuilder.Core.Update
VectorBuilder.Core.Builder
build-depends:
- vector >= 0.11 && < 0.13,
- semigroups >= 0.16 && < 0.20,
- base-prelude < 2,
- base >= 4.6 && < 5
+ vector >=0.11 && <0.13,
+ semigroups >=0.16 && <0.20,
+ base-prelude <2,
+ base >=4.6 && <5
test-suite tests
type:
@@ -94,62 +95,60 @@
default-language:
Haskell2010
build-depends:
- -- testing:
- tasty >=0.12 && <0.13,
- tasty-quickcheck >=0.9 && <0.10,
- tasty-hunit >=0.9 && <0.10,
- quickcheck-instances >=0.3.11 && <0.4,
+ attoparsec >=0.13 && <0.14,
QuickCheck >=2.8.1 && <3,
- --
- vector-builder,
- --
- rebase
+ quickcheck-instances >=0.3.11 && <0.4,
+ rerebase ==1.*,
+ tasty >=1.0.1 && <1.2,
+ tasty-hunit >=0.10 && <0.11,
+ tasty-quickcheck >=0.10 && <0.11,
+ vector-builder
-benchmark foldl-benchmark
- type:
- exitcode-stdio-1.0
- hs-source-dirs:
- foldl-benchmark
- main-is:
- Main.hs
- ghc-options:
- -O2
- -threaded
- "-with-rtsopts=-N"
- -rtsopts
- default-extensions:
- Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures,
DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric,
DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances,
FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase,
LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf,
NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards,
ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards,
ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections,
TypeFamilies, TypeOperators, UnboxedTuples
- default-language:
- Haskell2010
- build-depends:
- vector-builder,
- foldl == 1.2.*,
- -- benchmarking:
- criterion >= 1.1 && < 2,
- -- general:
- rerebase < 2
+-- benchmark foldl-benchmark
+-- type:
+-- exitcode-stdio-1.0
+-- hs-source-dirs:
+-- foldl-benchmark
+-- main-is:
+-- Main.hs
+-- ghc-options:
+-- -O2
+-- -threaded
+-- "-with-rtsopts=-N"
+-- -rtsopts
+-- default-extensions:
+-- Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures,
DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric,
DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances,
FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase,
LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf,
NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards,
ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards,
ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections,
TypeFamilies, TypeOperators, UnboxedTuples
+-- default-language:
+-- Haskell2010
+-- build-depends:
+-- vector-builder,
+-- foldl >=1.2 && <2,
+-- -- benchmarking:
+-- criterion >=1.1 && <2,
+-- -- general:
+-- rerebase <2
-test-suite foldl-profiling
- type:
- exitcode-stdio-1.0
- hs-source-dirs:
- foldl-profiling
- main-is:
- Main.hs
- ghc-options:
- -O2
- -threaded
- "-with-rtsopts=-N"
- -rtsopts
- default-extensions:
- Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures,
DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric,
DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances,
FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase,
LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf,
NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards,
ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards,
ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections,
TypeFamilies, TypeOperators, UnboxedTuples
- default-language:
- Haskell2010
- build-depends:
- vector-builder,
- foldl == 1.2.*,
- -- benchmarking:
- criterion >= 1.1 && < 2,
- -- general:
- bug == 1.*,
- rerebase < 2
+-- test-suite foldl-profiling
+-- type:
+-- exitcode-stdio-1.0
+-- hs-source-dirs:
+-- foldl-profiling
+-- main-is:
+-- Main.hs
+-- ghc-options:
+-- -O2
+-- -threaded
+-- "-with-rtsopts=-N"
+-- -rtsopts
+-- default-extensions:
+-- Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures,
DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric,
DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances,
FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase,
LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf,
NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards,
ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards,
ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections,
TypeFamilies, TypeOperators, UnboxedTuples
+-- default-language:
+-- Haskell2010
+-- build-depends:
+-- vector-builder,
+-- foldl >=1.2 && <2,
+-- -- benchmarking:
+-- criterion >=1.1 && <2,
+-- -- general:
+-- bug ==1.*,
+-- rerebase <2