binary 0.8.9.1 → 0.8.9.2
raw patch · 5 files changed
+23/−9 lines, 5 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Binary.Builder: data Builder
+ Data.Binary.Builder: data () => Builder
Files
- README.md +4/−3
- binary.cabal +5/−4
- changelog.md +7/−0
- src/Data/Binary/Class.hs +6/−1
- src/Data/Binary/Get/Internal.hs +1/−1
README.md view
@@ -1,13 +1,14 @@-# binary package #+# binary package [](https://hackage.haskell.org/package/binary) [](https://www.stackage.org/package/binary) [](http://travis-ci.org/kolmodin/binary) -*Efficient, pure binary serialisation using lazy ByteStrings.*+*Pure binary serialisation using lazy ByteStrings.* The ``binary`` package provides Data.Binary, containing the Binary class, and associated methods, for serialising values to and from lazy ByteStrings. -A key feature of ``binary`` is that the interface is both pure, and efficient.+A key feature of ``binary`` is that the interface is both pure, and +moderately efficient. The ``binary`` package is portable to GHC and Hugs. ## Installing binary from Hackage ##
binary.cabal view
@@ -9,7 +9,7 @@ -- sed -i 's/\(binary\),/\1-cabal-is-broken,/' binary.cabal name: binary-version: 0.8.9.1+version: 0.8.9.2 license: BSD-3-Clause license-file: LICENSE author: Lennart Kolmodin <kolmodin@gmail.com>@@ -27,13 +27,14 @@ category: Data, Parsing stability: provisional build-type: Simple-tested-with: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC ==8.2.2, GHC == 8.4.4, GHC == 8.6.5+tested-with: GHC == 8.0.2, GHC ==8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.6, GHC == 9.4.4, GHC == 9.6.3, GHC == 9.8.1 extra-source-files:- README.md changelog.md docs/hcar/binary-Lb.tex tools/derive/*.hs-+ tools/derive/*.hs -- from the benchmark 'bench' extra-source-files: benchmarks/CBenchmark.h+extra-doc-files:+ README.md changelog.md docs/hcar/binary-Lb.tex source-repository head type: git
changelog.md view
@@ -1,6 +1,13 @@ binary ====== +binary-0.8.9.2+--------------++- Documentation improvements+- Ensure that `many` has an unfolding+- Import `Data.List` as qualified+ binary-0.8.9.1 --------------
src/Data/Binary/Class.hs view
@@ -47,6 +47,9 @@ ) where +import Prelude hiding (Foldable(..))+import Data.Foldable (Foldable(..))+ import Data.Word import Data.Bits import Data.Int@@ -79,7 +82,7 @@ import qualified Data.ByteString.Lazy as L import qualified Data.ByteString.Builder.Prim as Prim -import Data.List (unfoldr, foldl')+import Data.List (unfoldr) -- And needed for the instances: #if MIN_VERSION_base(4,10,0)@@ -683,6 +686,7 @@ ------------------------------------------------------------------------ -- Floating point +-- | Uses non-IEEE754 encoding. Does not round-trip NaN. instance Binary Double where put d = put (decodeFloat d) get = do@@ -690,6 +694,7 @@ y <- get return $! encodeFloat x y +-- | Uses non-IEEE754 encoding. Does not round-trip NaN. instance Binary Float where put f = put (decodeFloat f) get = do
src/Data/Binary/Get/Internal.hs view
@@ -282,7 +282,7 @@ case v of Nothing -> pure [] Just x -> (:) x <$> many p- {-# INLINE many #-}+ {-# INLINEABLE many #-} -- many will never inline because it's recursive, so mark it INLINEABLE instead. -- | Run a decoder and keep track of all the input it consumes. -- Once it's finished, return the final decoder (always 'Done' or 'Fail'),