Permalink
Commits on May 22, 2017
  1. Version 4.3.3 => 4.3.4

    committed May 22, 2017
  2. Update `default.nix`

    committed May 22, 2017
Commits on Apr 22, 2017
  1. Version 4.3.2 => 4.3.3

    committed Apr 22, 2017
  2. Switch to using `Data.Void`. Fixes #189

    This makes `X` a type synonym for `Data.Void.Void` and `closed` a synonym for
    `Data.Void.absurd`.  This is a backwards-compatible change.
    committed Apr 22, 2017
Commits on Dec 20, 2016
  1. Update `CHANGELOG.md`

    committed Dec 20, 2016
  2. Version 4.3.1 => 4.3.2

    committed Dec 20, 2016
  3. Fix `MMonad` instance for `ListT`. Fixes #188

    The previous one was equivalent to an infinite loop
    committed Dec 20, 2016
Commits on Dec 3, 2016
  1. Version 4.3.0 => 4.3.1

    committed Dec 3, 2016
Commits on Dec 2, 2016
  1. Support `ghc-7.4`. Fixes #186

    This adds `ghc-7.4` build to CI and fixes the errors that it caught
    committed Dec 2, 2016
  2. Update `CHANGELOG.md`

    committed Dec 2, 2016
  3. Remove `Alternative`/`MonadPlus` instances for `Proxy`

    The most direct reason for removing them is that they allow users to witness a
    violation of the following `MonadTrans` law:
    
        lift (return x) = return x
    
    Here's the proof:
    
        >>> toListM (lift (return ()) `mplus` yield 1) :: [[Int]]
        [[],[1]]
        >>> toListM (return () `mplus` yield 1) :: [[Int]]
        [[]]
    
    Those two should return the same result, because `lift (return ())` should equal
    `return ()`, but they do not.
    
    I also haven't proven that these instances obey the associativity and identity laws
    for `Alternative`/`MonadPlus` (and I suspect they don't)
    committed Dec 2, 2016
Commits on Oct 15, 2016
  1. Version 4.2.1 => 4.3.0. Fixes #183

    Older versions of `pipes-safe` also provides a `MonadThrow` and `MonadCatch`
    instance for `Proxy`, but they have a `pipes < 4.3` bound.  In order to avoid
    incompatibility between the two libraries the plan is to:
    
    * Increase the `pipes` version to `4.3.0`
    * Release a new `pipes-safe` version with a `pipes >= 4.3.0` constraint
    
    This ensures that the two libraries will never have a build failure when built
    together.  At worst they might incur a dependency resolution failure
    committed Oct 15, 2016
Commits on Oct 5, 2016
  1. Several new instances for ListT (#180)

    * Add MonadThrow and MonadCatch for Proxy and ListT
    
    This is to support the exceptions package, by ekmett.
    
    * Add MMonad instance for ListT
    
    * Add Semigroup instance for ListT
    
    * Add MonadZip instance for ListT
    
    * Add INLINE directives for ListT instance methods
    
    * Remove the Semigroup additions
    
    * Decrease exceptions upper bound
    jwiegley committed with Oct 5, 2016
Commits on Aug 22, 2016
  1. Increase lower bound on `mtl`. Fixes #177

    This is necessary for the `Control.Monad.Except` import (and
    `Control.Monad.Error` is deprecated)
    committed Aug 22, 2016
Commits on Aug 21, 2016
  1. Update `stack` resolver

    committed Aug 21, 2016
Commits on Jul 3, 2016
  1. Disable building benchmarks in Travis

    `criterion` and `test-framework` do not mix well with each other on `ghc-7.6`.
    The issue is that:
    
    * `ghc-7.6` comes with `bytestring-0.10.0.2` installed by default
    * `ghc-7.6` also comes with a `regex-posix` built against `bytestring-0.10.0.2`
    * `criterion` requires a version of `bytestring` newer than `0.10.0.2` due to a
      dependency on `aeson`
    * `test-framework` requires `regex-posix`
    
    This leads to one of two problems when building both the benchmark suite and the
    test suite at the same time for `ghc-7.6`.  Either:
    
    * older versions of `cabal` fail at build time because they select the following
      invalid plan:
        * pick a `semigroups` library built against `bytestring-0.10.02` that is
          missing a `Semigroup` instance for `Data.ByteString.Builder.Builder`
          (this instance is only provided when building against newer versions of
           `bytestring`)
        * pick an `aeson` library built against `bytestring-0.10.8.1` that expects
          a `Semigroup` instance for `Data.ByteString.Builder.Builder`
    * newer versions of `cabal` fail at plan time because they refuse to have two
      different versions of `bytestring` in the same build plan
    
    My workaround for now is to disable building benchmarks in Travis.  I will
    re-enable building benchmarks once I phase out support for `ghc-7.6.3` (which
    in turn will happen when Debian Stable ships a newer `ghc` version)
    committed Jul 3, 2016
Commits on May 29, 2016
Commits on May 28, 2016
  1. Update `CHANGELOG.md`

    committed May 28, 2016
  2. Version 4.1.9 => 4.2.0

    committed May 28, 2016
  3. Remove `cabal check` step

    committed May 28, 2016
  4. Test GHC 8.0.1

    committed May 28, 2016
  5. Make `pipes` `-Wall` clean

    committed May 28, 2016
  6. Import `foldMap` in `Pipes.hs`

    This allows the module to build against older versions of GHC
    committed May 28, 2016
  7. Add Foldable ListT instance

    bgamari committed May 28, 2016
Commits on May 18, 2016
  1. Fix last RULES firing warning

    This gives identical performance on benchmarks to the original version without
    the NOINLINE pragma
    committed May 18, 2016
  2. Add new Travis script (#169)

    * Add new Travis configuration
    
    This uses `multi-ghc-travis` (https://github.com/hvr/multi-ghc-travis) to
    test the latest three versions of GHC
    
    * Remove unnecessary `deepseq` dependency for benchmarks
    
    * Remove unused `Control.DeepSeq` import
    
    * Remove `cabal check` step from `.travis.yml` script
    
    Contrary to what `cabal` says, `-O2` *does* make a difference
    
    * Add `Data.Monoid` import to benchmarks
    
    This supports older versions of `ghc`
    committed May 18, 2016
  3. Update `stack.yaml` file

    committed May 18, 2016