iteratee 0.8.4.4 → 0.8.4.5
raw patch · 2 files changed
+6/−3 lines, 2 filesdep ~exceptions
Dependency ranges changed: exceptions
Files
- iteratee.cabal +2/−2
- src/Data/Iteratee/Base.hs +4/−1
iteratee.cabal view
@@ -1,5 +1,5 @@ name: iteratee-version: 0.8.4.4+version: 0.8.4.5 synopsis: Iteratee-based I/O description: The Iteratee monad provides strict, safe, and functional I/O. In addition@@ -50,7 +50,7 @@ ListLike >= 1.0 && < 5, bytestring >= 0.9 && < 0.11, containers >= 0.2 && < 0.6,- exceptions >= 0.3 && < 0.5,+ exceptions >= 0.5 && < 0.6, parallel >= 2 && < 4, transformers >= 0.2 && < 0.4
src/Data/Iteratee/Base.hs view
@@ -161,10 +161,13 @@ instance (MonadIO m, Nullable s, NullPoint s) => MonadIO (Iteratee s m) where liftIO = lift . liftIO +instance (MonadThrow m, Nullable s, NullPoint s) =>+ MonadThrow (Iteratee s m) where+ throwM e = lift $ CIO.throwM e+ instance (MonadCatch m, Nullable s, NullPoint s) => MonadCatch (Iteratee s m) where m `catch` f = Iteratee $ \od oc -> runIter m od oc `CIO.catch` (\e -> runIter (f e) od oc)- throwM e = lift $ CIO.throwM e mask q = Iteratee $ \od oc -> CIO.mask $ \u -> runIter (q $ ilift u) od oc uninterruptibleMask q = Iteratee $ \od oc -> CIO.uninterruptibleMask $ \u -> runIter (q $ ilift u) od oc