Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-vector-builder for openSUSE:Factory checked in at 2022-02-11 23:09:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-vector-builder (Old) and /work/SRC/openSUSE:Factory/.ghc-vector-builder.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-vector-builder" Fri Feb 11 23:09:58 2022 rev:12 rq:953559 version:0.3.8.3 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-vector-builder/ghc-vector-builder.changes 2021-08-25 20:58:24.713145148 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-vector-builder.new.1956/ghc-vector-builder.changes 2022-02-11 23:11:59.199393200 +0100 @@ -1,0 +2,6 @@ +Fri Dec 31 00:29:03 UTC 2021 - Peter Simons <[email protected]> + +- Update vector-builder to version 0.3.8.3 revision 1. + Upstream does not provide a change log file. + +------------------------------------------------------------------- Old: ---- vector-builder-0.3.8.2.tar.gz New: ---- vector-builder-0.3.8.3.tar.gz vector-builder.cabal ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-vector-builder.spec ++++++ --- /var/tmp/diff_new_pack.KaH0gz/_old 2022-02-11 23:11:59.635394462 +0100 +++ /var/tmp/diff_new_pack.KaH0gz/_new 2022-02-11 23:11:59.639394473 +0100 @@ -19,12 +19,13 @@ %global pkg_name vector-builder %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.3.8.2 +Version: 0.3.8.3 Release: 0 Summary: Vector builder License: MIT URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-vector-devel @@ -72,6 +73,7 @@ %prep %autosetup -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build ++++++ vector-builder-0.3.8.2.tar.gz -> vector-builder-0.3.8.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vector-builder-0.3.8.2/library/VectorBuilder/Alternative.hs new/vector-builder-0.3.8.3/library/VectorBuilder/Alternative.hs --- old/vector-builder-0.3.8.2/library/VectorBuilder/Alternative.hs 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/library/VectorBuilder/Alternative.hs 2021-12-25 08:19:45.000000000 +0100 @@ -1,31 +1,28 @@ -{-| -Alternative utilities. -For instance, they can be applied with parsing libraries. --} -module VectorBuilder.Alternative -where +-- | +-- 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 Data.Vector.Generic as C import qualified VectorBuilder.Builder as A +import VectorBuilder.Prelude hiding (many, some) import qualified VectorBuilder.Vector as B -import qualified Data.Vector.Generic as C - -{-# INLINABLE many #-} +{-# INLINEABLE many #-} many :: (Alternative m, C.Vector vector a) => m a -> m (vector a) many = fmap B.build . manyBuilder -{-# INLINABLE manyBuilder #-} +{-# INLINEABLE manyBuilder #-} manyBuilder :: Alternative m => m a -> m (A.Builder a) -manyBuilder m = let - loop = ((<>) <$> A.singleton <$> m <*> loop) <|> pure mempty - in loop +manyBuilder m = + let loop = ((<>) <$> A.singleton <$> m <*> loop) <|> pure mempty + in loop -{-# INLINABLE some #-} +{-# INLINEABLE some #-} some :: (Alternative m, C.Vector vector a) => m a -> m (vector a) some m = B.build <$> someBuilder m -{-# INLINABLE someBuilder #-} +{-# INLINEABLE 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.8.2/library/VectorBuilder/Builder.hs new/vector-builder-0.3.8.3/library/VectorBuilder/Builder.hs --- old/vector-builder-0.3.8.2/library/VectorBuilder/Builder.hs 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/library/VectorBuilder/Builder.hs 2021-12-25 08:19:45.000000000 +0100 @@ -1,12 +1,11 @@ module VectorBuilder.Builder -( - Builder, - empty, - singleton, - size, - vector, - foldable, -) + ( Builder, + empty, + singleton, + size, + vector, + foldable, + ) where import VectorBuilder.Core.Builder diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vector-builder-0.3.8.2/library/VectorBuilder/Core/Builder.hs new/vector-builder-0.3.8.3/library/VectorBuilder/Core/Builder.hs --- old/vector-builder-0.3.8.2/library/VectorBuilder/Core/Builder.hs 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/library/VectorBuilder/Core/Builder.hs 2021-12-25 08:19:45.000000000 +0100 @@ -1,19 +1,16 @@ -module VectorBuilder.Core.Builder -where +module VectorBuilder.Core.Builder where -import VectorBuilder.Prelude hiding (empty, concat) -import qualified VectorBuilder.Core.Update as A import qualified Data.Vector.Generic as B import qualified Data.Vector.Generic.Mutable as C - +import qualified VectorBuilder.Core.Update as A +import VectorBuilder.Prelude hiding (concat, empty) -- | -- An abstraction over the size of a vector for the process of its construction. --- +-- -- It postpones the actual construction of a vector until the execution of the builder. -data Builder element = - Builder !Int !(A.Update element) - +data Builder element + = Builder !Int !(A.Update element) -- | -- Gets the size of a Builder. @@ -21,7 +18,6 @@ size :: Builder element -> Int size (Builder s _) = s - -- * Initialisation -- | @@ -40,7 +36,7 @@ -- | -- Builder from an immutable vector of elements. --- +-- -- Supports all kinds of vectors: boxed, unboxed, primitive, storable. {-# INLINE vector #-} vector :: B.Vector vector element => vector element -> Builder element @@ -52,7 +48,6 @@ foldable foldable = Builder (length foldable) (A.writeFoldable foldable) - -- * Updates {-# INLINE snoc #-} @@ -79,13 +74,19 @@ concat :: Foldable foldable => foldable (Builder element) -> Builder element concat builders = Builder - (let - step size (Builder builderSize _) = size + builderSize - in foldl' step 0 builders) - (A.Update (\mVector offset -> foldM_ (\index (Builder size (A.Update st)) -> - st mVector index $> index + size) - offset - builders)) + ( let step size (Builder builderSize _) = size + builderSize + in foldl' step 0 builders + ) + ( A.Update + ( \mVector offset -> + foldM_ + ( \index (Builder size (A.Update st)) -> + st mVector index $> index + size + ) + offset + builders + ) + ) -- * Instances @@ -110,4 +111,3 @@ {-# INLINE mconcat #-} mconcat = concat - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vector-builder-0.3.8.2/library/VectorBuilder/Core/Update.hs new/vector-builder-0.3.8.3/library/VectorBuilder/Core/Update.hs --- old/vector-builder-0.3.8.2/library/VectorBuilder/Core/Update.hs 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/library/VectorBuilder/Core/Update.hs 2021-12-25 08:19:45.000000000 +0100 @@ -1,13 +1,11 @@ -module VectorBuilder.Core.Update -where +module VectorBuilder.Core.Update where -import VectorBuilder.Prelude -import qualified Data.Vector.Generic.Mutable as A import qualified Data.Vector.Generic as B +import qualified Data.Vector.Generic.Mutable as A +import VectorBuilder.Prelude - -newtype Update element = - Update (forall s vector. A.MVector vector element => vector s element -> Int -> ST s ()) +newtype Update element + = Update (forall s vector. A.MVector vector element => vector s element -> Int -> ST s ()) {-# INLINE write #-} write :: element -> Update element @@ -32,4 +30,4 @@ {-# INLINE writeFoldable #-} writeFoldable :: Foldable foldable => foldable element -> Update element writeFoldable foldable = - Update (\mVector offset -> foldM_ (\ index element -> A.unsafeWrite mVector index element $> succ index) offset foldable) + Update (\mVector offset -> foldM_ (\index element -> A.unsafeWrite mVector index element $> succ index) offset foldable) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vector-builder-0.3.8.2/library/VectorBuilder/MVector.hs new/vector-builder-0.3.8.3/library/VectorBuilder/MVector.hs --- old/vector-builder-0.3.8.2/library/VectorBuilder/MVector.hs 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/library/VectorBuilder/MVector.hs 2021-12-25 08:19:45.000000000 +0100 @@ -1,19 +1,17 @@ -- | -- Extensions to the standard mutable Vector API. -module VectorBuilder.MVector -where +module VectorBuilder.MVector where -import VectorBuilder.Prelude import Data.Vector.Generic.Mutable import qualified VectorBuilder.Core.Builder as A import qualified VectorBuilder.Core.Update as C - +import VectorBuilder.Prelude -- | -- Construct a mutable vector from a builder. --- +-- -- Supports all kinds of vectors: boxed, unboxed, primitive, storable. -{-# INLINABLE build #-} +{-# INLINEABLE build #-} build :: MVector vector element => A.Builder element -> ST s (vector s element) build (A.Builder size (C.Update update)) = do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vector-builder-0.3.8.2/library/VectorBuilder/MonadPlus.hs new/vector-builder-0.3.8.3/library/VectorBuilder/MonadPlus.hs --- old/vector-builder-0.3.8.2/library/VectorBuilder/MonadPlus.hs 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/library/VectorBuilder/MonadPlus.hs 2021-12-25 08:19:45.000000000 +0100 @@ -1,35 +1,33 @@ -{-| -MonadPlus utilities. -For instance, they can be applied with parsing libraries. --} -module VectorBuilder.MonadPlus -where +-- | +-- MonadPlus utilities. +-- For instance, they can be applied with parsing libraries. +module VectorBuilder.MonadPlus where -import VectorBuilder.Prelude import Data.Vector (Vector) +import qualified Data.Vector.Generic as C import qualified VectorBuilder.Builder as A +import VectorBuilder.Prelude import qualified VectorBuilder.Vector as B -import qualified Data.Vector.Generic as C - -{-# INLINABLE many #-} +{-# INLINEABLE many #-} many :: (MonadPlus m, C.Vector vector element) => m element -> m (vector element) many m = liftM B.build (manyBuilder m) -{-# INLINABLE manyBuilder #-} +{-# INLINEABLE manyBuilder #-} manyBuilder :: (MonadPlus m) => m element -> m (A.Builder element) manyBuilder m = loop mempty where loop !builder = mplus - (do - !element <- m - loop (builder <> A.singleton element)) + ( do + !element <- m + loop (builder <> A.singleton element) + ) (return builder) -{-# INLINABLE many1 #-} +{-# INLINEABLE many1 #-} many1 :: (MonadPlus m, C.Vector vector element) => m element -> m (vector element) many1 m = do @@ -37,12 +35,12 @@ builder <- manyBuilder m return (B.build (A.singleton firstElement <> builder)) -{-# INLINABLE sepBy #-} +{-# INLINEABLE sepBy #-} sepBy :: (MonadPlus m, C.Vector vector element) => m element -> m separator -> m (vector element) sepBy elementM separatorM = mplus (sepBy1 elementM separatorM) (return C.empty) -{-# INLINABLE sepBy1 #-} +{-# INLINEABLE sepBy1 #-} sepBy1 :: (MonadPlus m, C.Vector vector element) => m element -> m separator -> m (vector element) sepBy1 elementM separatorM = do @@ -52,8 +50,9 @@ where loop builder = mplus - (do - separatorM - !element <- elementM - loop (builder <> A.singleton element)) + ( do + separatorM + !element <- elementM + loop (builder <> A.singleton element) + ) (return builder) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vector-builder-0.3.8.2/library/VectorBuilder/Prelude.hs new/vector-builder-0.3.8.3/library/VectorBuilder/Prelude.hs --- old/vector-builder-0.3.8.2/library/VectorBuilder/Prelude.hs 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/library/VectorBuilder/Prelude.hs 2021-12-25 08:19:45.000000000 +0100 @@ -1,21 +1,18 @@ module VectorBuilder.Prelude -( - module Exports, - strict, -) + ( module Exports, + strict, + ) where --- base -------------------------- import Control.Applicative as Exports import Control.Arrow as Exports hiding (first, second) import Control.Category as Exports import Control.Concurrent as Exports import Control.Exception as Exports -import Control.Monad as Exports hiding (fail, mapM_, sequence_, forM_, msum, mapM, sequence, forM) -import Control.Monad.IO.Class as Exports +import Control.Monad as Exports hiding (fail, forM, forM_, mapM, mapM_, msum, sequence, sequence_) import Control.Monad.Fail as Exports import Control.Monad.Fix as Exports hiding (fix) +import Control.Monad.IO.Class as Exports import Control.Monad.ST as Exports import Data.Bifunctor as Exports import Data.Bits as Exports @@ -31,19 +28,18 @@ import Data.Function as Exports hiding (id, (.)) import Data.Functor as Exports import Data.Functor.Compose as Exports -import Data.Functor.Contravariant as Exports -import Data.Int as Exports import Data.IORef as Exports +import Data.Int as Exports import Data.Ix as Exports -import Data.List as Exports hiding (sortOn, isSubsequenceOf, uncons, concat, foldr, foldl1, maximum, minimum, product, sum, all, and, any, concatMap, elem, foldl, foldr1, notElem, or, find, maximumBy, minimumBy, mapAccumL, mapAccumR, foldl') -import Data.List.NonEmpty as Exports (NonEmpty(..)) +import Data.List as Exports hiding (all, and, any, concat, concatMap, elem, find, foldl, foldl', foldl1, foldr, foldr1, isSubsequenceOf, mapAccumL, mapAccumR, maximum, maximumBy, minimum, minimumBy, notElem, or, product, sortOn, sum, uncons) +import Data.List.NonEmpty as Exports (NonEmpty (..)) import Data.Maybe as Exports import Data.Monoid as Exports hiding (Alt) import Data.Ord as Exports import Data.Proxy as Exports import Data.Ratio as Exports -import Data.Semigroup as Exports (Semigroup(..)) import Data.STRef as Exports +import Data.Semigroup as Exports (Semigroup (..)) import Data.String as Exports import Data.Traversable as Exports import Data.Tuple as Exports @@ -56,12 +52,11 @@ import Foreign.Ptr as Exports import Foreign.StablePtr as Exports import Foreign.Storable as Exports -import GHC.Conc as Exports hiding (orElse, withMVar, threadWaitWriteSTM, threadWaitWrite, threadWaitReadSTM, threadWaitRead) -import GHC.Exts as Exports (lazy, inline, sortWith, groupWith, IsList(..)) +import GHC.Conc as Exports hiding (orElse, threadWaitRead, threadWaitReadSTM, threadWaitWrite, threadWaitWriteSTM, withMVar) +import GHC.Exts as Exports (IsList (..), groupWith, inline, lazy, sortWith) import GHC.Generics as Exports (Generic) import GHC.IO.Exception as Exports import Numeric as Exports -import Prelude as Exports hiding (fail, concat, foldr, mapM_, sequence_, foldl1, maximum, minimum, product, sum, all, and, any, concatMap, elem, foldl, foldr1, notElem, or, mapM, sequence, id, (.)) import System.Environment as Exports import System.Exit as Exports import System.IO @@ -71,10 +66,11 @@ import System.Mem.StableName as Exports import System.Timeout as Exports import Text.ParserCombinators.ReadP as Exports (ReadP, ReadS, readP_to_S, readS_to_P) -import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readPrec_to_P, readP_to_Prec, readPrec_to_S, readS_to_Prec) -import Text.Printf as Exports (printf, hPrintf) -import Text.Read as Exports (Read(..), readMaybe, readEither) +import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readP_to_Prec, readPrec_to_P, readPrec_to_S, readS_to_Prec) +import Text.Printf as Exports (hPrintf, printf) +import Text.Read as Exports (Read (..), readEither, readMaybe) import Unsafe.Coerce as Exports +import Prelude as Exports hiding (all, and, any, concat, concatMap, elem, fail, foldl, foldl1, foldr, foldr1, id, mapM, mapM_, maximum, minimum, notElem, or, product, sequence, sequence_, sum, (.)) {-# INLINE strict #-} strict :: a -> a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vector-builder-0.3.8.2/library/VectorBuilder/Vector.hs new/vector-builder-0.3.8.3/library/VectorBuilder/Vector.hs --- old/vector-builder-0.3.8.2/library/VectorBuilder/Vector.hs 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/library/VectorBuilder/Vector.hs 2021-12-25 08:19:45.000000000 +0100 @@ -1,17 +1,15 @@ -- | -- Extensions to the standard immutable Vector API. -module VectorBuilder.Vector -where +module VectorBuilder.Vector where -import VectorBuilder.Prelude import Data.Vector.Generic import qualified VectorBuilder.Core.Builder as A import qualified VectorBuilder.MVector as B - +import VectorBuilder.Prelude -- | -- Construct an immutable vector from a builder. --- +-- -- Supports all kinds of vectors: boxed, unboxed, primitive, storable. {-# INLINE build #-} build :: Vector vector element => A.Builder element -> vector element diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vector-builder-0.3.8.2/tests/Main/Sample.hs new/vector-builder-0.3.8.3/tests/Main/Sample.hs --- old/vector-builder-0.3.8.2/tests/Main/Sample.hs 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/tests/Main/Sample.hs 2021-12-25 08:19:45.000000000 +0100 @@ -1,17 +1,16 @@ module Main.Sample where -import Prelude -import Test.QuickCheck.Instances -import qualified VectorBuilder.Builder as A import qualified Data.Vector as B +import Test.QuickCheck.Instances import qualified Test.Tasty.QuickCheck as C +import qualified VectorBuilder.Builder as A +import Prelude - -data Sample a = - Empty | - Singleton a | - Vector (Vector a) | - List [a] +data Sample a + = Empty + | Singleton a + | Vector (Vector a) + | List [a] deriving (Show) toBuilder :: Sample a -> A.Builder a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vector-builder-0.3.8.2/tests/Main.hs new/vector-builder-0.3.8.3/tests/Main.hs --- old/vector-builder-0.3.8.2/tests/Main.hs 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/tests/Main.hs 2021-12-25 08:19:45.000000000 +0100 @@ -1,61 +1,58 @@ module Main where -import Prelude +import qualified Data.Attoparsec.Text as D +import qualified Data.Text as G +import qualified Data.Vector as E +import qualified Main.Sample as C 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 Test.Tasty.Runners import qualified VectorBuilder.Alternative as F +import qualified VectorBuilder.Builder as A import qualified VectorBuilder.MonadPlus as H -import qualified Main.Sample as C -import qualified Data.Attoparsec.Text as D -import qualified Data.Vector as E -import qualified Data.Text as G - +import qualified VectorBuilder.Vector as B +import Prelude main = defaultMain $ - testGroup "All tests" - [ - testProperty "samples" $ \(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 :: D.Parser (Vector Char)) "") - , - testProperty "mconcat" $ \(samples :: [C.Sample Int]) -> - foldMap C.toVector samples === - B.build (mconcat (map C.toBuilder samples)) - , - testProperty "foldable" $ \(elements :: [Int]) -> - E.fromList elements === - B.build (A.foldable elements) - , - testGroup "MonadPlus" - [ - testProperty "many" $ \(elements :: [Char]) -> - Right (E.fromList elements) === - D.parseOnly (H.many D.anyChar) (fromString elements) - , - testProperty "many1" $ \(elements :: [Char]) -> - (if null elements - then Left "not enough input" - else Right (E.fromList elements)) === - D.parseOnly (H.many1 D.anyChar) (fromString elements) - , - testProperty "sepBy1" $ \(elements :: [Char]) -> - (if null elements - then Left "not enough input" - else Right (E.fromList elements)) === - D.parseOnly (H.sepBy1 D.anyChar (D.char ',')) (G.intersperse ',' (fromString elements)) - ] - ] - + testGroup + "All tests" + [ testProperty "samples" $ \(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 :: D.Parser (Vector Char)) ""), + testProperty "mconcat" $ \(samples :: [C.Sample Int]) -> + foldMap C.toVector samples + === B.build (mconcat (map C.toBuilder samples)), + testProperty "foldable" $ \(elements :: [Int]) -> + E.fromList elements + === B.build (A.foldable elements), + testGroup + "MonadPlus" + [ testProperty "many" $ \(elements :: [Char]) -> + Right (E.fromList elements) + === D.parseOnly (H.many D.anyChar) (fromString elements), + testProperty "many1" $ \(elements :: [Char]) -> + ( if null elements + then Left "not enough input" + else Right (E.fromList elements) + ) + === D.parseOnly (H.many1 D.anyChar) (fromString elements), + testProperty "sepBy1" $ \(elements :: [Char]) -> + ( if null elements + then Left "not enough input" + else Right (E.fromList elements) + ) + === D.parseOnly (H.sepBy1 D.anyChar (D.char ',')) (G.intersperse ',' (fromString elements)) + ] + ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vector-builder-0.3.8.2/vector-builder.cabal new/vector-builder-0.3.8.3/vector-builder.cabal --- old/vector-builder-0.3.8.2/vector-builder.cabal 2021-07-07 09:30:26.000000000 +0200 +++ new/vector-builder-0.3.8.3/vector-builder.cabal 2021-12-25 08:19:45.000000000 +0100 @@ -1,7 +1,7 @@ name: vector-builder version: - 0.3.8.2 + 0.3.8.3 synopsis: Vector builder description: ++++++ vector-builder.cabal ++++++ name: vector-builder version: 0.3.8.3 x-revision: 1 synopsis: Vector builder description: An API for efficient and convenient construction of vectors. It provides the composable `Builder` abstraction, which has instances of the `Monoid` and `Semigroup` classes. . [Usage] . First you use the `Builder` abstraction to specify the structure of the vector. Then you execute the builder to actually produce the vector. . [Example] . The following code shows how you can efficiently concatenate different datastructures into a single immutable vector: . > >import qualified Data.Vector as A >import qualified VectorBuilder.Builder as B >import qualified VectorBuilder.Vector as C > > >myVector :: A.Vector a -> [a] -> a -> A.Vector a >myVector vector list element = > C.build builder > where > builder = > B.vector vector <> > B.foldable list <> > B.singleton element category: Vector homepage: https://github.com/nikita-volkov/vector-builder bug-reports: https://github.com/nikita-volkov/vector-builder/issues author: Nikita Volkov <[email protected]> maintainer: Nikita Volkov <[email protected]> copyright: (c) 2016, Nikita Volkov license: MIT license-file: LICENSE build-type: Simple cabal-version: >=1.10 source-repository head type: git location: git://github.com/nikita-volkov/vector-builder.git library build-depends: base >=4.11 hs-source-dirs: library 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 exposed-modules: VectorBuilder.Builder VectorBuilder.MVector VectorBuilder.Vector VectorBuilder.MonadPlus VectorBuilder.Alternative other-modules: VectorBuilder.Prelude VectorBuilder.Core.Update VectorBuilder.Core.Builder build-depends: vector >=0.12 && <0.13, base >=4.10 && <5 test-suite tests type: exitcode-stdio-1.0 hs-source-dirs: tests main-is: Main.hs other-modules: Main.Sample 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: attoparsec >=0.13 && <0.15, QuickCheck >=2.8.1 && <3, quickcheck-instances >=0.3.11 && <0.4, rerebase <2, tasty >=0.12 && <2, tasty-hunit >=0.9 && <0.11, tasty-quickcheck >=0.9 && <0.11, vector-builder
