on master help sign in
Fix build for ghc-7.10 and 8.0
commitdfecce27eb845d78d2c4f2891ecb6e5baf125c0e authorHarendra Kumar <harendra.kumar@gmail.com> dateThu 24 May 2018, 17:35 (8 years ago) parent96dca8e
3 files changed+11−9
stack-8.0.yaml+1 streamly.cabal+1 test/Prop.hs+9−9
stack-8.0.yaml+1
@@ -2,6 +2,7 @@ resolver: lts-9.20
22packages:
33- '.'
44extra-deps:
5+ - QuickCheck-2.10
56 - lockfree-queue-0.2.3.1
67 - simple-conduit-0.6.0
78 - SDL-0.6.5.1
streamly.cabal+1
@@ -64,6 +64,7 @@ extra-source-files:
6464 README.md
6565 bench.sh
6666 stack-7.10.yaml
67+ stack-8.0.yaml
6768 stack.yaml
6869
6970source-repository head
test/Prop.hs+9−9
@@ -7,7 +7,6 @@ import Control.Monad (when)
77import Control.Applicative (ZipList(..))
88import Control.Concurrent (MVar, takeMVar, putMVar, newEmptyMVar)
99import Control.Monad (replicateM, replicateM_)
10−import Control.Monad.IO.Class (liftIO)
1110import Data.List (sort, foldl', scanl')
1211import GHC.Word (Word8)
1312
@@ -121,7 +120,7 @@ sourceUnfoldrM mv n = A.unfoldrM step 0
121120 if cnt > fromIntegral n
122121 then return Nothing
123122 else do
124− liftIO $ dbgMVar ("put sourceUnfoldrM " ++ msg) (putMVar mv ())
123+ dbgMVar ("put sourceUnfoldrM " ++ msg) (putMVar mv ())
125124 return (Just (fromIntegral cnt, cnt + 1))
126125
127126concurrentUnfoldrM
@@ -142,15 +141,16 @@ concurrentUnfoldrM eq op n =
142141 A.toList $ do
143142 x <- op (sourceUnfoldrM mv n)
144143 let msg = show x ++ "/" ++ show n
145− if even x
146− then do
147− liftIO $ dbgMVar ("first take concurrentUnfoldrM " ++ msg)
148− (takeMVar mv)
149− if n > x
150− then liftIO $ dbgMVar ("second take concurrentUnfoldrM " ++ msg)
144+ A.once $ do
145+ if even x
146+ then do
147+ dbgMVar ("first take concurrentUnfoldrM " ++ msg)
151148 (takeMVar mv)
149+ if n > x
150+ then dbgMVar ("second take concurrentUnfoldrM " ++ msg)
151+ (takeMVar mv)
152+ else return ()
152153 else return ()
153− else return ()
154154 return x
155155 equals eq stream list
156156