on master help sign in
updated definition of parseK to use throwM instead of error
commit64e8b3801a69babba74c03d1f34dc69285462247 authorAhmed Zaheer Dadarkar <ahmed.dadarkar@gmail.com> dateThu 14 May 2020, 15:48 (6 years ago) parentdf553b1
1 file changed+3−3
src/Streamly/Internal/Prelude.hs+3−3
src/Streamly/Internal/Prelude.hs+3−3
@@ -517,7 +517,7 @@ where
517517import Control.Concurrent (threadDelay)
518518import Control.Exception (Exception, assert)
519519import Control.Monad (void)
520−import Control.Monad.Catch (MonadCatch, MonadThrow)
520+import Control.Monad.Catch (MonadCatch, MonadThrow, throwM)
521521import Control.Monad.IO.Class (MonadIO(..))
522522import Control.Monad.Reader (ReaderT)
523523import Control.Monad.State.Strict (StateT)
@@ -1215,12 +1215,12 @@ parseD :: MonadThrow m => PRD.Parser m a b -> SerialT m a -> m b
12151215parseD (PRD.Parser step initial extract) = P.parselMx' step initial extract
12161216
12171217{-# INLINE parseK #-}
1218−parseK :: Monad m => PRK.Parser m a b -> SerialT m a -> m b
1218+parseK :: MonadThrow m => PRK.Parser m a b -> SerialT m a -> m b
12191219parseK parser xs = do
12201220 r <- PRK.runParser parser (ZR.fromStream $ K.toStream xs)
12211221 (\(_, b) -> return b)
12221222 case r of
1223− Left err -> error err
1223+ Left err -> throwM (PRD.ParseError err)
12241224 Right b -> return b
12251225
12261226-- | Parse a stream using the supplied 'Parser'.