packages feed

vector-builder 0.3.6 → 0.3.7

raw patch · 7 files changed

+26/−62 lines, 7 filesdep ~basedep ~rerebasedep ~tastyPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base, rerebase, tasty, tasty-hunit, tasty-quickcheck

API changes (from Hackage documentation)

+ VectorBuilder.Builder: foldable :: Foldable foldable => foldable element -> Builder element
- VectorBuilder.Alternative: many :: Alternative m => m a -> m (Vector a)
+ VectorBuilder.Alternative: many :: (Alternative m, Vector vector a) => m a -> m (vector a)
- VectorBuilder.Alternative: some :: Alternative m => m a -> m (Vector a)
+ VectorBuilder.Alternative: some :: (Alternative m, Vector vector a) => m a -> m (vector a)
- VectorBuilder.MonadPlus: many :: MonadPlus m => m a -> m (Vector a)
+ VectorBuilder.MonadPlus: many :: (MonadPlus m, Vector vector element) => m element -> m (vector element)
- VectorBuilder.MonadPlus: sepBy :: MonadPlus m => m element -> m separator -> m (Vector element)
+ VectorBuilder.MonadPlus: sepBy :: (MonadPlus m, Vector vector element) => m element -> m separator -> m (vector element)
- VectorBuilder.MonadPlus: sepBy1 :: MonadPlus m => m element -> m separator -> m (Vector element)
+ VectorBuilder.MonadPlus: sepBy1 :: (MonadPlus m, Vector vector element) => m element -> m separator -> m (vector element)

Files

library/VectorBuilder/Alternative.hs view
@@ -9,10 +9,11 @@ import Data.Vector (Vector) import qualified VectorBuilder.Builder as A import qualified VectorBuilder.Vector as B+import qualified Data.Vector.Generic as C   {-# INLINABLE many #-}-many :: Alternative m => m a -> m (Vector a)+many :: (Alternative m, C.Vector vector a) => m a -> m (vector a) many = fmap B.build . manyBuilder  {-# INLINABLE manyBuilder #-}@@ -22,7 +23,7 @@   in loop  {-# INLINABLE some #-}-some :: Alternative m => m a -> m (Vector a)+some :: (Alternative m, C.Vector vector a) => m a -> m (vector a) some m = B.build <$> someBuilder m  {-# INLINABLE someBuilder #-}
library/VectorBuilder/Builder.hs view
@@ -4,6 +4,7 @@   empty,   singleton,   vector,+  foldable, ) where 
library/VectorBuilder/Core/Builder.hs view
@@ -39,6 +39,11 @@ vector vector =   Builder (B.length vector) (A.writeMany vector) +{-# INLINE foldable #-}+foldable :: Foldable foldable => foldable element -> Builder element+foldable foldable =+  Builder (length foldable) (A.writeFoldable foldable)+  -- * Updates 
library/VectorBuilder/Core/Update.hs view
@@ -28,3 +28,8 @@ empty :: Update element empty =   Update (\_ _ -> pure ())++{-# 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)
library/VectorBuilder/MonadPlus.hs view
@@ -9,10 +9,11 @@ import Data.Vector (Vector) import qualified VectorBuilder.Builder as A import qualified VectorBuilder.Vector as B+import qualified Data.Vector.Generic as C   {-# INLINABLE many #-}-many :: MonadPlus m => m a -> m (Vector a)+many :: (MonadPlus m, C.Vector vector element) => m element -> m (vector element) many m =   liftM B.build loop   where@@ -25,12 +26,12 @@         (return mempty)  {-# INLINABLE sepBy #-}-sepBy :: MonadPlus m => m element -> m separator -> m (Vector element)+sepBy :: (MonadPlus m, C.Vector vector element) => m element -> m separator -> m (vector element) sepBy elementM separatorM =-  mplus (sepBy1 elementM separatorM) (return mempty)+  mplus (sepBy1 elementM separatorM) (return C.empty)  {-# INLINABLE sepBy1 #-}-sepBy1 :: MonadPlus m => m element -> m separator -> m (Vector element)+sepBy1 :: (MonadPlus m, C.Vector vector element) => m element -> m separator -> m (vector element) sepBy1 elementM separatorM =   liftM B.build loop   where
tests/Main.hs view
@@ -27,6 +27,6 @@     ,     testCase "Alternative.some on empty" $ assertEqual ""       (Left "not enough input")-      (D.parseOnly (F.some D.anyChar) "")+      (D.parseOnly (F.some D.anyChar :: D.Parser (Vector Char)) "")   ] 
vector-builder.cabal view
@@ -1,7 +1,7 @@ name:   vector-builder version:-  0.3.6+  0.3.7 synopsis:   Vector builder description:@@ -29,7 +29,7 @@   >  where   >    builder =   >      B.vector vector <>-  >      foldMap B.singleton list <>+  >      B.foldable list <>   >      B.singleton element category:   Vector@@ -98,57 +98,8 @@     attoparsec >=0.13 && <0.14,     QuickCheck >=2.8.1 && <3,     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,+    rerebase <2,+    tasty >=0.12 && <2,+    tasty-hunit >=0.9 && <0.11,+    tasty-quickcheck >=0.9 && <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 && <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 && <2,---     -- benchmarking:---     criterion >=1.1 && <2,---     -- general:---     bug ==1.*,---     rerebase <2