binary-parsers 0.2.3.0 → 0.2.4.0
raw patch · 4 files changed
+15/−5 lines, 4 filesdep ~binarydep ~bytestringPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: binary, bytestring
API changes (from Hackage documentation)
- Data.Binary.Parser: eitherP :: (Alternative f) => f a -> f b -> f (Either a b)
+ Data.Binary.Parser: eitherP :: Alternative f => f a -> f b -> f (Either a b)
- Data.Binary.Parser: many' :: (MonadPlus m) => m a -> m [a]
+ Data.Binary.Parser: many' :: MonadPlus m => m a -> m [a]
- Data.Binary.Parser: manyTill' :: (MonadPlus m) => m a -> m b -> m [a]
+ Data.Binary.Parser: manyTill' :: MonadPlus m => m a -> m b -> m [a]
- Data.Binary.Parser: sepBy' :: (MonadPlus m) => m a -> m s -> m [a]
+ Data.Binary.Parser: sepBy' :: MonadPlus m => m a -> m s -> m [a]
- Data.Binary.Parser: sepBy1' :: (MonadPlus m) => m a -> m s -> m [a]
+ Data.Binary.Parser: sepBy1' :: MonadPlus m => m a -> m s -> m [a]
- Data.Binary.Parser: some' :: (MonadPlus m) => m a -> m [a]
+ Data.Binary.Parser: some' :: MonadPlus m => m a -> m [a]
Files
- ChangeLog.md +4/−0
- Data/Binary/Parser/Word8.hs +2/−2
- binary-parsers.cabal +1/−1
- tests/QC/ByteString.hs +8/−2
ChangeLog.md view
@@ -1,5 +1,9 @@ # Revision history for binary-parsec +## 0.2.4.0 -- 2016-09-28++* Bugfix: https://github.com/winterland1989/binary-parsers/pull/5+ ## 0.2.3.0 -- 2016-09-28 * Remove `MultiWayIf` to support older GHC (7.4 and 7.6).
Data/Binary/Parser/Word8.hs view
@@ -126,8 +126,8 @@ skipN n = do bs <- get let l = B.length bs- if l >= n then put (B.unsafeDrop n bs)- else put B.empty >> skip (l - n)+ if l > n then put (B.unsafeDrop n bs)+ else skip n {-# INLINE skipN #-} -- | Consume input as long as the predicate returns 'False' or reach the end of input,
binary-parsers.cabal view
@@ -1,5 +1,5 @@ name: binary-parsers-version: 0.2.3.0+version: 0.2.4.0 synopsis: Extends binary with parsec/attoparsec style parsing combinators. description: Extends binary with parsec/attoparsec style parsing combinators. license: BSD3
tests/QC/ByteString.hs view
@@ -22,13 +22,19 @@ import qualified Data.ByteString.Lazy as L import qualified Data.ByteString.Lazy.Char8 as L8 +newtype ASCIIChar = ASCIIChar Char+ deriving (Eq, Ord, Show, Read)+instance Arbitrary ASCIIChar where+ arbitrary = ASCIIChar <$> choose ('\0', '\127')+ shrink (ASCIIChar c) = ASCIIChar <$> shrink c+ -- Basic byte-level combinators. satisfy :: Word8 -> L.ByteString -> Property satisfy w s = parseBS (P.satisfy (<=w)) (L.cons w s) === Just w -satisfyWith :: Char -> L.ByteString -> Property-satisfyWith c s = parseBS (P.satisfyWith (chr . fromIntegral) (<=c))+satisfyWith :: ASCIIChar -> L.ByteString -> Property+satisfyWith (ASCIIChar c) s = parseBS (P.satisfyWith (chr . fromIntegral) (<=c)) (L.cons (fromIntegral (ord c)) s) === Just c word8 :: Word8 -> L.ByteString -> Property