Skip to content

Commit a591744

Browse files
AndreasPKandrewthad
authored andcommitted
Adjust for base 4.13 MonadFail changes.
Adds a MonadFail instance for Stream as well as removing fail from the Monad instance under base 4.13.
1 parent 4872aa5 commit a591744

3 files changed

Lines changed: 15 additions & 1 deletion

File tree

changelog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121

2222
Add `wrapEffect`.
2323

24+
Compatibility with base 4.13.
25+
26+
Provide a MonadFail instance for Stream.
27+
2428
- 0.2.1.0
2529

2630
Adding `Semigroup` instances for GHC 8.4.

src/Streaming/Internal.hs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ import Control.Applicative
8787
import Control.Concurrent (threadDelay)
8888
import Control.Monad
8989
import Control.Monad.Error.Class
90+
import Control.Monad.Fail as Fail
9091
import Control.Monad.Morph
9192
import Control.Monad.Reader.Class
9293
import Control.Monad.State.Class
@@ -252,9 +253,14 @@ instance (Functor f, Monad m) => Monad (Stream f m) where
252253
Return r -> f r
253254
{-# INLINABLE (>>=) #-}
254255

255-
fail = lift . fail
256+
#if !(MIN_VERSION_base(4,13,0))
257+
fail = lift . Prelude.fail
256258
{-# INLINE fail #-}
259+
#endif
257260

261+
instance (Functor f, MonadFail m) => MonadFail (Stream f m) where
262+
fail = lift . Fail.fail
263+
{-# INLINE fail #-}
258264

259265
-- _bind
260266
-- :: (Functor f, Monad m)

streaming.cabal

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,10 @@ library
213213
, transformers-base < 0.5
214214
, ghc-prim
215215
, containers
216+
217+
if !impl(ghc >= 8.0)
218+
build-depends: fail == 4.9.*
219+
216220
hs-source-dirs:
217221
src
218222
default-language:

0 commit comments

Comments
 (0)