packages feed

iteratee 0.8.4.3 → 0.8.4.4

raw patch · 5 files changed

+43/−42 lines, 5 filesdep +exceptionsdep −MonadCatchIO-transformers

Dependencies added: exceptions

Dependencies removed: MonadCatchIO-transformers

Files

iteratee.cabal view
@@ -1,5 +1,5 @@ name:          iteratee-version:       0.8.4.3+version:       0.8.4.4 synopsis:      Iteratee-based I/O description:   The Iteratee monad provides strict, safe, and functional I/O. In addition@@ -48,9 +48,9 @@    build-depends:     ListLike                  >= 1.0     && < 5,-    MonadCatchIO-transformers >  0.2     && < 0.4,     bytestring                >= 0.9     && < 0.11,     containers                >= 0.2     && < 0.6,+    exceptions                >= 0.3     && < 0.5,     parallel                  >= 2       && < 4,     transformers              >= 0.2     && < 0.4 @@ -98,9 +98,9 @@   build-depends:       base,       bytestring,+      exceptions,       iteratee,       ListLike,-      MonadCatchIO-transformers,       parallel,       transformers,       mtl                        >= 2   && < 4,
src/Data/Iteratee/Base.hs view
@@ -40,11 +40,10 @@ import Data.NullPoint import Data.Monoid +import Control.Monad.Catch as CIO import Control.Monad.IO.Class import Control.Monad.Trans.Class-import Control.Monad.CatchIO as CIO import Control.Applicative hiding (empty)-import Control.Exception (SomeException) import qualified Control.Exception as E import Data.Data @@ -162,11 +161,12 @@ instance (MonadIO m, Nullable s, NullPoint s) => MonadIO (Iteratee s m) where   liftIO = lift . liftIO -instance (MonadCatchIO m, Nullable s, NullPoint s) =>-  MonadCatchIO (Iteratee s m) where+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)-    block       = ilift block-    unblock     = ilift unblock+    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  -- |Send 'EOF' to the @Iteratee@ and disregard the unconsumed part of the -- stream.  If the iteratee is in an exception state, that exception is
src/Data/Iteratee/IO.hs view
@@ -37,7 +37,8 @@ import qualified Data.Iteratee.IO.Fd as FD #endif -import Control.Monad.CatchIO+import Control.Monad.Catch+import Control.Monad.IO.Class  -- | The default buffer size. defaultBufSize :: Int@@ -47,14 +48,14 @@ #if defined(USE_POSIX)  enumFile-  :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>      Int      -> FilePath      -> Enumerator s m a enumFile = FD.enumFile  enumFileRandom-  :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>      Int      -> FilePath      -> Enumerator s m a@@ -63,7 +64,7 @@ -- |Process a file using the given Iteratee.  This function wraps -- enumFd as a convenience. fileDriver-  :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>      Iteratee s m a      -> FilePath      -> m a@@ -71,7 +72,7 @@  -- |A version of fileDriver with a user-specified buffer size (in elements). fileDriverVBuf-  :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>      Int      -> Iteratee s m a      -> FilePath@@ -81,14 +82,14 @@ -- |Process a file using the given Iteratee.  This function wraps -- enumFdRandom as a convenience. fileDriverRandom-  :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>      Iteratee s m a      -> FilePath      -> m a fileDriverRandom = FD.fileDriverRandomFd defaultBufSize  fileDriverRandomVBuf-  :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>      Int      -> Iteratee s m a      -> FilePath@@ -103,7 +104,7 @@ -- |Process a file using the given Iteratee.  This function wraps -- @enumHandle@ as a convenience. fileDriver ::- (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+ (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>   Iteratee s m a   -> FilePath   -> m a@@ -111,7 +112,7 @@  -- |A version of fileDriver with a user-specified buffer size (in elements). fileDriverVBuf ::- (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+ (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>   Int   -> Iteratee s m a   -> FilePath@@ -121,14 +122,14 @@ -- |Process a file using the given Iteratee.  This function wraps -- @enumRandomHandle@ as a convenience. fileDriverRandom-  :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>      Iteratee s m a      -> FilePath      -> m a fileDriverRandom = H.fileDriverRandomHandle defaultBufSize  fileDriverRandomVBuf-  :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>      Int      -> Iteratee s m a      -> FilePath@@ -136,14 +137,14 @@ fileDriverRandomVBuf = H.fileDriverRandomHandle  enumFile-  :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>      Int      -> FilePath      -> Enumerator s m a enumFile = H.enumFile  enumFileRandom-  :: (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>      Int      -> FilePath      -> Enumerator s m a
src/Data/Iteratee/IO/Fd.hs view
@@ -30,7 +30,7 @@ import Control.Concurrent (yield) import Control.Exception import Control.Monad-import Control.Monad.CatchIO as CIO+import Control.Monad.Catch as CIO import Control.Monad.IO.Class  import Foreign.Ptr@@ -63,7 +63,7 @@ -- over the entire contents of a file, in order, unless stopped by -- the iteratee.  In particular, seeking is not supported. enumFd-  :: forall s el m a.(NullPoint s, ReadableChunk s el, MonadCatchIO m) =>+  :: forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) =>      Int      -> Fd      -> Enumerator s m a@@ -75,7 +75,7 @@  -- |A variant of enumFd that catches exceptions raised by the @Iteratee@. enumFdCatch- :: forall e s el m a.(IException e, NullPoint s, ReadableChunk s el, MonadCatchIO m)+ :: forall e s el m a.(IException e, NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m)     => Int     -> Fd     -> (e -> m (Maybe EnumException))@@ -90,7 +90,7 @@ -- |The enumerator of a POSIX File Descriptor: a variation of @enumFd@ that -- supports RandomIO (seek requests). enumFdRandom- :: forall s el m a.(NullPoint s, ReadableChunk s el, MonadCatchIO m) =>+ :: forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) =>     Int     -> Fd     -> Enumerator s m a@@ -103,7 +103,7 @@             . liftIO . myfdSeek fd AbsoluteSeek $ fromIntegral off  fileDriver-  :: (MonadCatchIO m, ReadableChunk s el) =>+  :: (MonadIO m, MonadCatch m, ReadableChunk s el) =>      (Int -> Fd -> Enumerator s m a)      -> Int      -> Iteratee s m a@@ -116,7 +116,7 @@  -- |Process a file using the given @Iteratee@. fileDriverFd-  :: (NullPoint s, MonadCatchIO m, ReadableChunk s el) =>+  :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>      Int -- ^Buffer size (number of elements)      -> Iteratee s m a      -> FilePath@@ -125,14 +125,14 @@  -- |A version of fileDriverFd that supports seeking. fileDriverRandomFd-  :: (NullPoint s, MonadCatchIO m, ReadableChunk s el) =>+  :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>      Int      -> Iteratee s m a      -> FilePath      -> m a fileDriverRandomFd = fileDriver enumFdRandom -enumFile' :: (NullPoint s, MonadCatchIO m, ReadableChunk s el) =>+enumFile' :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>   (Int -> Fd -> Enumerator s m a)   -> Int -- ^Buffer size   -> FilePath@@ -143,14 +143,14 @@   (flip (enumf bufsize) iter)  enumFile ::-  (NullPoint s, MonadCatchIO m, ReadableChunk s el)+  (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el)   => Int                 -- ^Buffer size   -> FilePath   -> Enumerator s m a enumFile = enumFile' enumFd  enumFileRandom ::-  (NullPoint s, MonadCatchIO m, ReadableChunk s el)+  (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el)   => Int                 -- ^Buffer size   -> FilePath   -> Enumerator s m a
src/Data/Iteratee/IO/Handle.hs view
@@ -25,7 +25,7 @@  import Control.Exception import Control.Monad-import Control.Monad.CatchIO as CIO+import Control.Monad.Catch as CIO import Control.Monad.IO.Class  import Foreign.Ptr@@ -39,7 +39,7 @@ -- Binary Random IO enumerators  makeHandleCallback ::-  (MonadCatchIO m, NullPoint s, ReadableChunk s el) =>+  (MonadIO m, MonadCatch m, NullPoint s, ReadableChunk s el) =>   Ptr el   -> Int   -> Handle@@ -59,7 +59,7 @@ -- the iteratee.  In particular, seeking is not supported. -- Data is read into a buffer of the specified size. enumHandle ::- forall s el m a.(NullPoint s, ReadableChunk s el, MonadCatchIO m) =>+ forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) =>   Int -- ^Buffer size (number of elements per read)   -> Handle   -> Enumerator s m a@@ -76,7 +76,7 @@  forall e s el m a.(IException e,                     NullPoint s,                     ReadableChunk s el,-                    MonadCatchIO m) =>+                    MonadIO m, MonadCatch m) =>   Int -- ^Buffer size (number of elements per read)   -> Handle   -> (e -> m (Maybe EnumException))@@ -92,7 +92,7 @@ -- supports RandomIO (seek requests). -- Data is read into a buffer of the specified size. enumHandleRandom ::- forall s el m a.(NullPoint s, ReadableChunk s el, MonadCatchIO m) =>+ forall s el m a.(NullPoint s, ReadableChunk s el, MonadIO m, MonadCatch m) =>   Int -- ^ Buffer size (number of elements per read)   -> Handle   -> Enumerator s m a@@ -107,7 +107,7 @@ -- ---------------------------------------------- -- File Driver wrapper functions. -enumFile' :: (NullPoint s, MonadCatchIO m, ReadableChunk s el) =>+enumFile' :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>   (Int -> Handle -> Enumerator s m a)   -> Int -- ^Buffer size   -> FilePath@@ -118,14 +118,14 @@   (flip (enumf bufsize) iter)  enumFile ::-  (NullPoint s, MonadCatchIO m, ReadableChunk s el)+  (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el)   => Int                 -- ^Buffer size   -> FilePath   -> Enumerator s m a enumFile = enumFile' enumHandle  enumFileRandom ::-  (NullPoint s, MonadCatchIO m, ReadableChunk s el)+  (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el)   => Int                 -- ^Buffer size   -> FilePath   -> Enumerator s m a@@ -134,7 +134,7 @@ -- |Process a file using the given @Iteratee@.  This function wraps -- @enumHandle@ as a convenience. fileDriverHandle-  :: (NullPoint s, MonadCatchIO m, ReadableChunk s el) =>+  :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>      Int                      -- ^Buffer size (number of elements)      -> Iteratee s m a      -> FilePath@@ -144,7 +144,7 @@  -- |A version of @fileDriverHandle@ that supports seeking. fileDriverRandomHandle-  :: (NullPoint s, MonadCatchIO m, ReadableChunk s el) =>+  :: (NullPoint s, MonadIO m, MonadCatch m, ReadableChunk s el) =>      Int                      -- ^ Buffer size (number of elements)      -> Iteratee s m a      -> FilePath