Gabriella439 / pipes

Compositional pipelines
BSD 3-Clause "New" or "Revised" License
487 stars 72 forks source link

Increase lower bound for mmorph to 1.0.4 #198

Closed skeuchel closed 5 years ago

skeuchel commented 5 years ago

Pipes.Lift is using MFunctor (ExceptT e) instances which were added to mmorph in 1.0.4

skeuchel commented 5 years ago

For reference the build error:

$ cabal new-build -w ghc-7.10.3 --keep-going --constraint=mmorph==1.0.3
Build profile: -w ghc-7.10.3 -O1
In order, the following will be built (use -v for more details):
 - pipes-4.3.9 (lib) (first run)
Preprocessing library for pipes-4.3.9..
Building library for pipes-4.3.9..
[3 of 6] Compiling Pipes.Lift       ( src/Pipes/Lift.hs, /tmp/Haskell-Pipes-Library/dist-newstyle/build/x86_64-linux/ghc-7.10.3/pipes-4.3.9/build/Pipes/Lift.o )

src/Pipes/Lift.hs:100:32:
    Could not deduce (MFunctor (E.ExceptT e))
      arising from a use of ‘distribute’
    from the context (Monad m)
      bound by the type signature for
                 runExceptP :: Monad m =>
                               Proxy a' a b' b (E.ExceptT e m) r -> Proxy a' a b' b m (Either e r)
      at src/Pipes/Lift.hs:(97,8)-(99,37)
    In the second argument of ‘(.)’, namely ‘distribute’
    In the expression: E.runExceptT . distribute
    In an equation for ‘runExceptP’:
        runExceptP = E.runExceptT . distribute

src/Pipes/Lift.hs:112:15:
    Could not deduce (MFunctor (E.ExceptT e))
      arising from a use of ‘distribute’
    from the context (Monad m)
      bound by the type signature for
                 catchError :: Monad m =>
                               Proxy a' a b' b (E.ExceptT e m) r
                               -> (e -> Proxy a' a b' b (E.ExceptT e m) r)
                               -> Proxy a' a b' b (E.ExceptT e m) r
      at src/Pipes/Lift.hs:(105,8)-(110,40)
    In the first argument of ‘E.catchE’, namely ‘(distribute e)’
    In the second argument of ‘($)’, namely
      ‘E.catchE (distribute e) (distribute . h)’
    In the expression:
      exceptP . E.runExceptT $ E.catchE (distribute e) (distribute . h)
Gabriella439 commented 5 years ago

Thank you!

skeuchel commented 5 years ago

In case you want to edit the hackage metadata for this, this affects pipes>=4.2. But then again correct lower bounds are not as important as correct upper bounds.

Gabriella439 commented 5 years ago

I added revisions to fix them all