on master help sign in
Remove redundant MonadCatch/MonadThrow constraints

Remove redundant MonadThrow from Fold.Chunked Relax MonadCatch to MonadThrow in sortBy Remove redundant Catch/Throw from Unicode.Stream Remove redundant MonadCatch from Unicode.String

commitec94487fc46e66850b270f1ec0012f6187e0a3df authorHarendra Kumar <harendra@composewell.com> dateFri 18 Nov 2022, 11:02 (4 years ago) parenta17b033
5 files changed+15−18
core/src/Streamly/Internal/Data/Array/Mut/Stream.hs+1−1 core/src/Streamly/Internal/Data/Fold/Chunked.hs+7−8 core/src/Streamly/Internal/Data/Stream/Top.hs+2−2 core/src/Streamly/Internal/Unicode/Stream.hs+3−4 core/src/Streamly/Internal/Unicode/String.hs+2−3
core/src/Streamly/Internal/Data/Array/Mut/Stream.hs+1−1
@@ -204,7 +204,7 @@ compact n = Stream.fromStreamD . packArraysChunksOf n . Stream.toStreamD
204204-- /Internal/
205205{-# INLINE_NORMAL compactLEParserD #-}
206206compactLEParserD ::
207− forall m a. (MonadThrow m, MonadIO m, Unbox a)
207+ forall m a. (MonadIO m, Unbox a)
208208 => Int -> ParserD.Parser (Array a) m (Array a)
209209compactLEParserD n = ParserD.Parser step initial extract
210210
core/src/Streamly/Internal/Data/Fold/Chunked.hs+7−8
@@ -58,7 +58,6 @@ where
5858
5959import Control.Applicative (liftA2)
6060import Control.Exception (assert)
61−import Control.Monad.Catch (MonadThrow)
6261import Control.Monad.IO.Class (MonadIO(..))
6362import Data.Bifunctor (first)
6463import Streamly.Internal.Data.Unboxed (peekWith, sizeOf, Unbox)
@@ -187,9 +186,9 @@ fromParserD (ParserD.Parser step1 initial1 extract1) =
187186-- /Pre-release/
188187{-# INLINE fromParser #-}
189188#ifdef DEVBUILD
190−fromParser :: forall m a b. (MonadThrow m, MonadIO m) =>
189+fromParser :: forall m a b. (MonadIO m) =>
191190#else
192−fromParser :: forall m a b. (MonadThrow m, MonadIO m, Unbox a) =>
191+fromParser :: forall m a b. (MonadIO m, Unbox a) =>
193192#endif
194193 Parser.Parser a m b -> ChunkFold m a b
195194fromParser = fromParserD . ParserD.fromParserK
@@ -246,7 +245,7 @@ fromEffect = ChunkFold . ParserD.fromEffect
246245--
247246-- /Pre-release/
248247{-# INLINE split_ #-}
249−split_ :: MonadThrow m =>
248+split_ :: Monad m =>
250249 ChunkFold m x a -> ChunkFold m x b -> ChunkFold m x b
251250split_ (ChunkFold p1) (ChunkFold p2) =
252251 ChunkFold $ ParserD.noErrorUnsafeSplit_ p1 p2
@@ -256,14 +255,14 @@ split_ (ChunkFold p1) (ChunkFold p2) =
256255--
257256-- /Pre-release/
258257{-# INLINE splitWith #-}
259−splitWith :: MonadThrow m
258+splitWith :: Monad m
260259 => (a -> b -> c) -> ChunkFold m x a -> ChunkFold m x b -> ChunkFold m x c
261260splitWith f (ChunkFold p1) (ChunkFold p2) =
262261 ChunkFold $ ParserD.noErrorUnsafeSplitWith f p1 p2
263262
264263-- | 'Applicative' form of 'splitWith'.
265264-- > (<*>) = splitWith id
266−instance MonadThrow m => Applicative (ChunkFold m a) where
265+instance Monad m => Applicative (ChunkFold m a) where
267266 {-# INLINE pure #-}
268267 pure = fromPure
269268
@@ -288,7 +287,7 @@ instance MonadThrow m => Applicative (ChunkFold m a) where
288287-- /Pre-release/
289288--
290289{-# INLINE concatMap #-}
291−concatMap :: MonadThrow m =>
290+concatMap :: Monad m =>
292291 (b -> ChunkFold m a c) -> ChunkFold m a b -> ChunkFold m a c
293292concatMap func (ChunkFold p) =
294293 let f x = let ChunkFold y = func x in y
@@ -298,7 +297,7 @@ concatMap func (ChunkFold p) =
298297-- output of the previous fold. See 'concatMap'.
299298--
300299-- > (>>=) = flip concatMap
301−instance MonadThrow m => Monad (ChunkFold m a) where
300+instance Monad m => Monad (ChunkFold m a) where
302301 {-# INLINE return #-}
303302 return = pure
304303
core/src/Streamly/Internal/Data/Stream/Top.hs+2−2
@@ -42,7 +42,7 @@ where
4242
4343#include "inline.hs"
4444
45−import Control.Monad.Catch (MonadCatch)
45+import Control.Monad.Catch (MonadThrow)
4646import Control.Monad.IO.Class (MonadIO(..))
4747import Control.Monad.Trans.Class (lift)
4848import Control.Monad.Trans.State.Strict (get, put)
@@ -111,7 +111,7 @@ sampleFromThen offset stride =
111111-- /Pre-release/
112112--
113113{-# INLINE sortBy #-}
114−sortBy :: MonadCatch m => (a -> a -> Ordering) -> Stream m a -> Stream m a
114+sortBy :: MonadThrow m => (a -> a -> Ordering) -> Stream m a -> Stream m a
115115-- sortBy f = Stream.concatPairsWith (Stream.mergeBy f) Stream.fromPure
116116sortBy cmp =
117117 let p =
core/src/Streamly/Internal/Unicode/Stream.hs+3−4
@@ -85,7 +85,6 @@ where
8585#include "inline.hs"
8686
8787import Control.Monad (void)
88−import Control.Monad.Catch (MonadThrow(..), MonadCatch)
8988import Control.Monad.IO.Class (MonadIO, liftIO)
9089import Data.Bits (shiftR, shiftL, (.|.), (.&.))
9190import Data.Char (chr, ord)
@@ -453,7 +452,7 @@ data UTF8CharDecodeState a
453452
454453{-# INLINE parseCharUtf8WithD #-}
455454parseCharUtf8WithD ::
456− MonadThrow m => CodingFailureMode -> ParserD.Parser Word8 m Char
455+ Monad m => CodingFailureMode -> ParserD.Parser Word8 m Char
457456parseCharUtf8WithD cfm = ParserD.Parser (step' utf8d) initial extract
458457
459458 where
@@ -526,7 +525,7 @@ parseCharUtf8WithD cfm = ParserD.Parser (step' utf8d) initial extract
526525-- workflow requires backtracking 1 element. This can be revisited once "Fold"
527526-- supports backtracking.
528527{-# INLINE writeCharUtf8' #-}
529−writeCharUtf8' :: MonadThrow m => Fold m Word8 Char
528+writeCharUtf8' :: Monad m => Fold m Word8 Char
530529writeCharUtf8' = ParserD.toFold (parseCharUtf8WithD ErrorOnCodingFailure)
531530
532531-- XXX The initial idea was to have "parseCharUtf8" and offload the error
@@ -541,7 +540,7 @@ writeCharUtf8' = ParserD.toFold (parseCharUtf8WithD ErrorOnCodingFailure)
541540-- This needs to be investigated futher.
542541{-# INLINE parseCharUtf8With #-}
543542parseCharUtf8With ::
544− MonadCatch m => CodingFailureMode -> Parser.Parser Word8 m Char
543+ Monad m => CodingFailureMode -> Parser.Parser Word8 m Char
545544parseCharUtf8With = ParserD.toParserK . parseCharUtf8WithD
546545
547546-- XXX write it as a parser and use parseMany to decode a stream, need to check
core/src/Streamly/Internal/Unicode/String.hs+2−3
@@ -35,7 +35,6 @@ module Streamly.Internal.Unicode.String
3535 ) where
3636
3737import Control.Applicative (Alternative(..))
38−import Control.Monad.Catch (MonadCatch)
3938import Streamly.Internal.Data.Parser (Parser)
4039
4140import Language.Haskell.TH
@@ -61,12 +60,12 @@ data StrSegment
6160 | StrVar String
6261 deriving (Show, Eq)
6362
64−haskellIdentifier :: MonadCatch m => Parser Char m String
63+haskellIdentifier :: Monad m => Parser Char m String
6564haskellIdentifier =
6665 let p = Parser.alphaNum <|> Parser.char '\'' <|> Parser.char '_'
6766 in Parser.some p Fold.toList
6867
69−strParser :: MonadCatch m => Parser Char m [StrSegment]
68+strParser :: Monad m => Parser Char m [StrSegment]
7069strParser = Parser.many content Fold.toList
7170
7271 where