Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Aug 14, 2015
  1. benchmark builder: Specify Int as we otherwise default to Integer.

    The benchmark executes 25% faster, time which could not be attribute to
    the speed of binary itself.
  2. Remove unused import.

Commits on Aug 13, 2015
  1. Add new deps to .travis.yml file.

    Due to the dependency cycle we need to manually preinstall all deps
    before we attempt to configure/build binary.
  2. Add benchmark for Generic generated Binary instances.

    We use Cabal's PackageDescription as the type to serialize. It is large,
    has many levels of data types, and also uses enums and strings. It's a
    good stress test.
    GenericsBench defines criterion benchmarks for serialization and
    In GenericsBenchTypes we derive the Binary instances. PackageDescription
    already defines Binary instances for the system installed Binary, but
    naturally this won't work for the benchmark - we need our own instances
    that are derived from the code in this library.
    The data to serialize we get from your
    .cabal/package/ directory, it's data from hackage,
    not autogenerated.
    GenericsBenchCache makes sure that if we rerun the benchmark we will use
    the same PackageDescriptions, even if the user has executed
    'cabal update' since the last benchmark run.
Commits on Aug 9, 2015
  1. Change the non-allocating benchmarks to allocating.

    Previously we had several non-allocating benchmarks.
    They were not representative to the most common use case where we want
    to save all the decoded input, not just a fraction.
    This patch updates the benchmark to save the decoded input in lists.
Commits on Jul 30, 2015
  1. Mark INLINEs with a phase to remove warning.

    The warnings are like this;
    Rule "getWord16le/readN" may never fire
      because ‘getWord16le’ might inline first
    The RULES do the same thing as the inlining, so either one is fine.
    Specifying a phase removes the warning.
  2. Inline flush late to give the RULES a chanse to act

      append flush flush = flush
Commits on Jul 29, 2015
  1. Bump version to

  2. Merge pull request #83 from bergmark/ghc72

    Don't mark modules using bytestring as safe on GHC 7.2 to fix compilation
  3. @bergmark
Commits on Jul 28, 2015
Commits on Jul 27, 2015
  1. Bump version to

Commits on Jul 8, 2015
  1. Add to 'cabal sdist'

    Should fix issue #80.
Commits on Jun 8, 2015
  1. Merge pull request #77 from mboes/ghc710-warnings

    Fix AMP and Safe Haskell related warnings in GHC 7.10.
Commits on Jun 6, 2015
  1. @mboes

    Declare a few modules as Safe rather than Trustworthy.

    mboes authored
    This silences a GHC 7.10 warning that indicates that these modules are
    marked trustworthy when in fact they don't need to, since they are safe.
  2. @mboes
Commits on Jun 3, 2015
  1. Add Show instance for Fingerprint on GHC < 7.8.

    'forAll' needs Fingerprint to have a Show instance.
    Starting from GHC 7.8 (base-4.7) Fingerprint has a Show instance, but
    for older versions we need to provide one ourselves.
  2. Force the Fingerprint constructor to reduce memory usage.

    The two fields are unpacked, so this saves a couple of words per field
    until the Fingerprint value gets used.
Commits on May 31, 2015
  1. Bump version to

    and update the changelog.
  2. Increase test coverage for Binary Natural instance.

    The arbitrarySizedNatural creates too small Naturals so we didn't test
    all code paths. Use a custom generator to get bigger numbers.
Commits on May 30, 2015
  1. Simplify the skip, get*LazyByteString* functions.

     - skip
     - getLazyByteString
     - getLazyByteStringNul
     - getRemainingLazyByteString
    These functions all read input chunks until some condition,
    reading enough bytes, reaching a NUL character, or it has consumed all
    bytes. They're now implemented by withInputChunks.
    This fixes a bug where the position in the input previously wasn't
    correctly reported if you ran out of input bytes.
    Tests have been added for getLazyByteString and skip to Action.hs.
    Tests for getLazyByteStringNul and getRemainingLazyByteString already
    exist in QC.hs.
Something went wrong with that request. Please try again.