packages feed

iteratee 0.8.7.1 → 0.8.7.2

raw patch · 3 files changed

+15/−13 lines, 3 files

Files

iteratee.cabal view
@@ -1,5 +1,5 @@ name:          iteratee-version:       0.8.7.1+version:       0.8.7.2 synopsis:      Iteratee-based I/O description:   The Iteratee monad provides strict, safe, and functional I/O. In addition
src/Data/Iteratee/Iteratee.hs view
@@ -272,9 +272,9 @@ -- > unpacker = mapChunks B.unpack --  mapChunks :: (Monad m, NullPoint s) => (s -> s') -> Enumeratee s s' m a-mapChunks f = eneeCheckIfDone (liftI . step)+mapChunks f = eneeCheckIfDonePass (icont . step)  where-  step k (Chunk xs)     = eneeCheckIfDone (liftI . step) . k . Chunk $ f xs+  step k (Chunk xs)     = eneeCheckIfDonePass (icont . step) . k . Chunk $ f xs   step k str@(EOF mErr) = idone (k $ EOF mErr) str {-# INLINE mapChunks #-} @@ -283,10 +283,10 @@   :: (Monad m, NullPoint s, Nullable s)   => (s -> m s')   -> Enumeratee s s' m a-mapChunksM f = eneeCheckIfDone (liftI . step)+mapChunksM f = eneeCheckIfDonePass (icont . step)  where   step k (Chunk xs)     = lift (f xs) >>=-                          eneeCheckIfDone (liftI . step) . k . Chunk+                          eneeCheckIfDonePass (icont . step) . k . Chunk   step k str@(EOF mErr) = idone (k $ EOF mErr) str {-# INLINE mapChunksM #-} @@ -301,10 +301,11 @@  (Monad m, Nullable s) =>   Iteratee s m s'   -> Enumeratee s s' m a-convStream fi = eneeCheckIfDone check+convStream fi = eneeCheckIfDonePass check   where-    check k = isStreamFinished >>= maybe (step k) (idone (liftI k) . EOF . Just)-    step k = fi >>= eneeCheckIfDone check . k . Chunk+    check k (Just e) = throwRecoverableErr e (const identity) >> check k Nothing+    check k _ = isStreamFinished >>= maybe (step k) (idone (liftI k) . EOF . Just)+    step k = fi >>= eneeCheckIfDonePass check . k . Chunk  -- |The most general stream converter.  Given a function to produce iteratee -- transformers and an initial state, convert the stream using iteratees@@ -314,12 +315,13 @@   (acc -> Iteratee s m (acc, s'))   -> acc   -> Enumeratee s s' m a-unfoldConvStream f acc0 = eneeCheckIfDone (check acc0)+unfoldConvStream f acc0 = eneeCheckIfDonePass (check acc0)   where-    check acc k = isStreamFinished >>=+    check acc k (Just e) = throwRecoverableErr e (const identity) >> check acc k Nothing+    check acc k _ = isStreamFinished >>=                     maybe (step acc k) (idone (liftI k) . EOF . Just)     step acc k = f acc >>= \(acc', s') ->-                    eneeCheckIfDone (check acc') . k . Chunk $ s'+                    eneeCheckIfDonePass (check acc') . k . Chunk $ s'  unfoldConvStreamCheck   :: (Monad m, Nullable elo, Monoid elo)
src/Data/Iteratee/ListLike.hs view
@@ -320,13 +320,13 @@   :: (Monad m, LL.ListLike s el, NullPoint s)   => (el -> Bool)   -> Enumeratee s s m a-breakE cpred = eneeCheckIfDone (liftI . step)+breakE cpred = eneeCheckIfDonePass (icont . step)  where   step k (Chunk s)       | LL.null s  = liftI (step k)       | otherwise  = case LL.break cpred s of         (str', tail')-          | LL.null tail' -> eneeCheckIfDone (liftI . step) . k $ Chunk str'+          | LL.null tail' -> eneeCheckIfDonePass (icont . step) . k $ Chunk str'           | otherwise     -> idone (k $ Chunk str') (Chunk tail')   step k stream           =  idone (k stream) stream {-# INLINE breakE #-}