on master help sign in
satisfy hlint (pragmas, imports, <> instead of ++)
8b8fd22Harendra Kumar
src/Streamly/Prelude.hs+1−2
@@ -1,4 +1,3 @@
1−{-# LANGUAGE BangPatterns #-}
2{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
3{-# LANGUAGE FlexibleContexts #-}
2{-# LANGUAGE FlexibleContexts #-}
4{-# LANGUAGE FlexibleInstances #-}
3{-# LANGUAGE FlexibleInstances #-}
@@ -230,7 +229,7 @@ import Control.Monad.IO.Class (MonadIO(..))
230import Data.Maybe (isJust, fromJust)
229import Data.Maybe (isJust, fromJust)
231import Prelude
230import Prelude
232 hiding (filter, drop, dropWhile, take, takeWhile, zipWith, foldr,
231 hiding (filter, drop, dropWhile, take, takeWhile, zipWith, foldr,
233− foldl, map, mapM, mapM_, sequence, all, any, sum, product, elem,
232+ foldl, mapM, mapM_, sequence, all, any, sum, product, elem,
234 notElem, maximum, minimum, head, last, tail, length, null,
233 notElem, maximum, minimum, head, last, tail, length, null,
235 reverse, iterate, init, and, or, lookup, foldr1)
234 reverse, iterate, init, and, or, lookup, foldr1)
236import qualified Prelude
235import qualified Prelude
src/Streamly/SVar.hs+36−35
@@ -125,6 +125,7 @@ import Data.IORef
125 (IORef, modifyIORef, newIORef, readIORef, writeIORef, atomicModifyIORef)
125 (IORef, modifyIORef, newIORef, readIORef, writeIORef, atomicModifyIORef)
126import Data.List ((\\))
126import Data.List ((\\))
127import Data.Maybe (fromJust)
127import Data.Maybe (fromJust)
128+import Data.Semigroup ((<>))
128import Data.Set (Set)
129import Data.Set (Set)
129import GHC.Conc (ThreadId(..))
130import GHC.Conc (ThreadId(..))
130import GHC.Exts
131import GHC.Exts
@@ -621,34 +622,34 @@ dumpSVarStats sv ss style = do
621 else return (0, 0, 0)
622 else return (0, 0, 0)
622
623
623 return $ unlines
624 return $ unlines
624− [ "total dispatches = " ++ show dispatches
625+ [ "total dispatches = " <> show dispatches
625− , "max workers = " ++ show maxWrk
626+ , "max workers = " <> show maxWrk
626− , "max outQSize = " ++ show maxOq
627+ , "max outQSize = " <> show maxOq
627− ++ (if style == AheadVar
628+ <> (if style == AheadVar
628− then "\nheap max size = " ++ show maxHp
629+ then "\nheap max size = " <> show maxHp
629 else "")
630 else "")
630− ++ (if minLat > 0
631+ <> (if minLat > 0
631 then "\nmin worker latency = "
632 then "\nmin worker latency = "
632− ++ secs (fromIntegral minLat * 1e-9)
633+ <> secs (fromIntegral minLat * 1e-9)
633 else "")
634 else "")
634− ++ (if maxLat > 0
635+ <> (if maxLat > 0
635 then "\nmax worker latency = "
636 then "\nmax worker latency = "
636− ++ secs (fromIntegral maxLat * 1e-9)
637+ <> secs (fromIntegral maxLat * 1e-9)
637 else "")
638 else "")
638− ++ (if avgCnt > 0
639+ <> (if avgCnt > 0
639 then let lat = avgTime `div` fromIntegral avgCnt
640 then let lat = avgTime `div` fromIntegral avgCnt
640 in "\navg worker latency = "
641 in "\navg worker latency = "
641− ++ secs (fromIntegral lat * 1e-9)
642+ <> secs (fromIntegral lat * 1e-9)
642 else "")
643 else "")
643− ++ (if svarLat > 0
644+ <> (if svarLat > 0
644 then "\nSVar latency = "
645 then "\nSVar latency = "
645− ++ secs (fromIntegral svarLat * 1e-9)
646+ <> secs (fromIntegral svarLat * 1e-9)
646 else "")
647 else "")
647− ++ (if svarCnt > 0
648+ <> (if svarCnt > 0
648− then "\nSVar yield count = " ++ show svarCnt
649+ then "\nSVar yield count = " <> show svarCnt
649 else "")
650 else "")
650− ++ (if svarGainLossCnt > 0
651+ <> (if svarGainLossCnt > 0
651− then "\nSVar gain/loss yield count = " ++ show svarGainLossCnt
652+ then "\nSVar gain/loss yield count = " <> show svarGainLossCnt
652 else "")
653 else "")
653 ]
654 ]
654
655
@@ -663,10 +664,10 @@ dumpSVar sv = do
663 (oheap, oheapSeq) <- readIORef $ outputHeap sv
664 (oheap, oheapSeq) <- readIORef $ outputHeap sv
664 (wq, wqSeq) <- readIORef $ aheadWorkQueue sv
665 (wq, wqSeq) <- readIORef $ aheadWorkQueue sv
665 return $ unlines
666 return $ unlines
666− [ "heap length = " ++ show (H.size oheap)
667+ [ "heap length = " <> show (H.size oheap)
667− , "heap seqeunce = " ++ show oheapSeq
668+ , "heap seqeunce = " <> show oheapSeq
668− , "work queue length = " ++ show (length wq)
669+ , "work queue length = " <> show (length wq)
669− , "work queue sequence = " ++ show wqSeq
670+ , "work queue sequence = " <> show wqSeq
670 ]
671 ]
671 else return []
672 else return []
672
673
@@ -681,23 +682,23 @@ dumpSVar sv = do
681
682
682 return $ unlines
683 return $ unlines
683 [
684 [
684− "Creator tid = " ++ show (svarCreator sv),
685+ "Creator tid = " <> show (svarCreator sv),
685− "style = " ++ show (svarStyle sv)
686+ "style = " <> show (svarStyle sv)
686 , "---------CURRENT STATE-----------"
687 , "---------CURRENT STATE-----------"
687− , "outputQueue length computed = " ++ show (length oqList)
688+ , "outputQueue length computed = " <> show (length oqList)
688− , "outputQueue length maintained = " ++ show oqLen
689+ , "outputQueue length maintained = " <> show oqLen
689 -- XXX print the types of events in the outputQueue, first 5
690 -- XXX print the types of events in the outputQueue, first 5
690− , "outputDoorBell = " ++ show db
691+ , "outputDoorBell = " <> show db
691 ]
692 ]
692− ++ aheadDump
693+ <> aheadDump
693− ++ unlines
694+ <> unlines
694− [ "needDoorBell = " ++ show waiting
695+ [ "needDoorBell = " <> show waiting
695− , "running threads = " ++ show rthread
696+ , "running threads = " <> show rthread
696 -- XXX print the status of first 5 threads
697 -- XXX print the status of first 5 threads
697− , "running thread count = " ++ show workers
698+ , "running thread count = " <> show workers
698 ]
699 ]
699− ++ "---------STATS-----------\n"
700+ <> "---------STATS-----------\n"
700− ++ stats
701+ <> stats
701
702
702-- MVar diagnostics has some overhead - around 5% on asyncly null benchmark, we
703-- MVar diagnostics has some overhead - around 5% on asyncly null benchmark, we
703-- can keep it on in production to debug problems quickly if and when they
704-- can keep it on in production to debug problems quickly if and when they
@@ -708,14 +709,14 @@ dumpSVar sv = do
708mvarExcHandler :: SVar t m a -> String -> BlockedIndefinitelyOnMVar -> IO ()
709mvarExcHandler :: SVar t m a -> String -> BlockedIndefinitelyOnMVar -> IO ()
709mvarExcHandler sv label e@BlockedIndefinitelyOnMVar = do
710mvarExcHandler sv label e@BlockedIndefinitelyOnMVar = do
710 svInfo <- dumpSVar sv
711 svInfo <- dumpSVar sv
711− hPutStrLn stderr $ label ++ " " ++ "BlockedIndefinitelyOnMVar\n" ++ svInfo
712+ hPutStrLn stderr $ label <> " " <> "BlockedIndefinitelyOnMVar\n" <> svInfo
712 throwIO e
713 throwIO e
713
714
714{-# NOINLINE stmExcHandler #-}
715{-# NOINLINE stmExcHandler #-}
715stmExcHandler :: SVar t m a -> String -> BlockedIndefinitelyOnSTM -> IO ()
716stmExcHandler :: SVar t m a -> String -> BlockedIndefinitelyOnSTM -> IO ()
716stmExcHandler sv label e@BlockedIndefinitelyOnSTM = do
717stmExcHandler sv label e@BlockedIndefinitelyOnSTM = do
717 svInfo <- dumpSVar sv
718 svInfo <- dumpSVar sv
718− hPutStrLn stderr $ label ++ " " ++ "BlockedIndefinitelyOnSTM\n" ++ svInfo
719+ hPutStrLn stderr $ label <> " " <> "BlockedIndefinitelyOnSTM\n" <> svInfo
719 throwIO e
720 throwIO e
720
721
721withDiagMVar :: SVar t m a -> String -> IO () -> IO ()
722withDiagMVar :: SVar t m a -> String -> IO () -> IO ()
src/Streamly/Streams/Parallel.hs−1
@@ -5,7 +5,6 @@
5{-# LANGUAGE GeneralizedNewtypeDeriving#-}
5{-# LANGUAGE GeneralizedNewtypeDeriving#-}
6{-# LANGUAGE InstanceSigs #-}
6{-# LANGUAGE InstanceSigs #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
8−{-# LANGUAGE StandaloneDeriving #-}
9{-# LANGUAGE UndecidableInstances #-} -- XXX
8{-# LANGUAGE UndecidableInstances #-} -- XXX
10
9
11-- |
10-- |
src/Streamly/Streams/Prelude.hs−2
@@ -2,11 +2,9 @@
2{-# LANGUAGE ConstraintKinds #-}
2{-# LANGUAGE ConstraintKinds #-}
3{-# LANGUAGE FlexibleContexts #-}
3{-# LANGUAGE FlexibleContexts #-}
4{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE FlexibleInstances #-}
5−{-# LANGUAGE GeneralizedNewtypeDeriving#-}
6{-# LANGUAGE InstanceSigs #-}
5{-# LANGUAGE InstanceSigs #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
6{-# LANGUAGE MultiParamTypeClasses #-}
8{-# LANGUAGE RankNTypes #-}
7{-# LANGUAGE RankNTypes #-}
9−{-# LANGUAGE StandaloneDeriving #-}
10{-# LANGUAGE UndecidableInstances #-} -- XXX
8{-# LANGUAGE UndecidableInstances #-} -- XXX
11
9
12-- |
10-- |
src/Streamly/Streams/SVar.hs+4−7
@@ -2,11 +2,8 @@
2{-# LANGUAGE ConstraintKinds #-}
2{-# LANGUAGE ConstraintKinds #-}
3{-# LANGUAGE FlexibleContexts #-}
3{-# LANGUAGE FlexibleContexts #-}
4{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE FlexibleInstances #-}
5−{-# LANGUAGE LambdaCase #-}
6−{-# LANGUAGE MagicHash #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
5{-# LANGUAGE MultiParamTypeClasses #-}
8{-# LANGUAGE RankNTypes #-}
6{-# LANGUAGE RankNTypes #-}
9−{-# LANGUAGE UnboxedTuples #-}
10{-# LANGUAGE UndecidableInstances #-} -- XXX
7{-# LANGUAGE UndecidableInstances #-} -- XXX
11
8
12#include "inline.h"
9#include "inline.h"
@@ -43,9 +40,9 @@ import Control.Monad (when)
43import Control.Monad.Catch (throwM)
40import Control.Monad.Catch (throwM)
44import Control.Monad.IO.Class (MonadIO(liftIO))
41import Control.Monad.IO.Class (MonadIO(liftIO))
45import Data.Int (Int64)
42import Data.Int (Int64)
46−import Data.IORef (newIORef, readIORef, mkWeakIORef)
43+import Data.IORef (newIORef, readIORef, mkWeakIORef, writeIORef)
47−import Data.IORef (writeIORef)
48import Data.Maybe (isNothing)
44import Data.Maybe (isNothing)
45+import Data.Semigroup ((<>))
49import System.IO (hPutStrLn, stderr)
46import System.IO (hPutStrLn, stderr)
50import System.Clock (Clock(Monotonic), getTime)
47import System.Clock (Clock(Monotonic), getTime)
51import System.Mem (performMajorGC)
48import System.Mem (performMajorGC)
@@ -57,7 +54,7 @@ import Streamly.Streams.Serial (SerialT)
57printSVar :: SVar t m a -> String -> IO ()
54printSVar :: SVar t m a -> String -> IO ()
58printSVar sv how = do
55printSVar sv how = do
59 svInfo <- dumpSVar sv
56 svInfo <- dumpSVar sv
60− hPutStrLn stderr $ "\n" ++ how ++ "\n" ++ svInfo
57+ hPutStrLn stderr $ "\n" <> how <> "\n" <> svInfo
61
58
62printState :: MonadIO m => State Stream m a -> m ()
59printState :: MonadIO m => State Stream m a -> m ()
63printState st = liftIO $ do
60printState st = liftIO $ do
@@ -305,5 +302,5 @@ maxYieldsSerial _ = id
305
302
306-- | Print debug information about an SVar when the stream ends
303-- | Print debug information about an SVar when the stream ends
307inspectMode :: IsStream t => t m a -> t m a
304inspectMode :: IsStream t => t m a -> t m a
308−inspectMode m = fromStream $ Stream $ \st stp sng yld -> do
305+inspectMode m = fromStream $ Stream $ \st stp sng yld ->
309 unStream (toStream m) (setInspectMode st) stp sng yld
306 unStream (toStream m) (setInspectMode st) stp sng yld
src/Streamly/Streams/Serial.hs−1
@@ -5,7 +5,6 @@
5{-# LANGUAGE GeneralizedNewtypeDeriving#-}
5{-# LANGUAGE GeneralizedNewtypeDeriving#-}
6{-# LANGUAGE InstanceSigs #-}
6{-# LANGUAGE InstanceSigs #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
8−{-# LANGUAGE StandaloneDeriving #-}
9{-# LANGUAGE UndecidableInstances #-} -- XXX
8{-# LANGUAGE UndecidableInstances #-} -- XXX
10
9
11-- |
10-- |
src/Streamly/Streams/StreamD.hs−3
@@ -4,11 +4,8 @@
4{-# LANGUAGE ExistentialQuantification #-}
4{-# LANGUAGE ExistentialQuantification #-}
5{-# LANGUAGE FlexibleContexts #-}
5{-# LANGUAGE FlexibleContexts #-}
6{-# LANGUAGE FlexibleInstances #-}
6{-# LANGUAGE FlexibleInstances #-}
7−{-# LANGUAGE LambdaCase #-}
8−{-# LANGUAGE MagicHash #-}
9{-# LANGUAGE MultiParamTypeClasses #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
10{-# LANGUAGE RankNTypes #-}
8{-# LANGUAGE RankNTypes #-}
11−{-# LANGUAGE UnboxedTuples #-}
12
9
13#include "inline.h"
10#include "inline.h"
14
11
src/Streamly/Streams/StreamK.hs−3
@@ -4,11 +4,8 @@
4{-# LANGUAGE FlexibleContexts #-}
4{-# LANGUAGE FlexibleContexts #-}
5{-# LANGUAGE FlexibleInstances #-}
5{-# LANGUAGE FlexibleInstances #-}
6{-# LANGUAGE InstanceSigs #-}
6{-# LANGUAGE InstanceSigs #-}
7−{-# LANGUAGE LambdaCase #-}
8−{-# LANGUAGE MagicHash #-}
9{-# LANGUAGE MultiParamTypeClasses #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
10{-# LANGUAGE RankNTypes #-}
8{-# LANGUAGE RankNTypes #-}
11−{-# LANGUAGE UnboxedTuples #-}
12{-# LANGUAGE UndecidableInstances #-} -- XXX
9{-# LANGUAGE UndecidableInstances #-} -- XXX
13
10
14-- |
11-- |
src/Streamly/Streams/Zip.hs−1
@@ -5,7 +5,6 @@
5{-# LANGUAGE GeneralizedNewtypeDeriving#-}
5{-# LANGUAGE GeneralizedNewtypeDeriving#-}
6{-# LANGUAGE InstanceSigs #-}
6{-# LANGUAGE InstanceSigs #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
7{-# LANGUAGE MultiParamTypeClasses #-}
8−{-# LANGUAGE StandaloneDeriving #-}
9{-# LANGUAGE UndecidableInstances #-} -- XXX
8{-# LANGUAGE UndecidableInstances #-} -- XXX
10
9
11-- |
10-- |