parconc-examples 0.3.2 → 0.3.3
raw patch · 4 files changed
+259/−208 lines, 4 filesdep ~arraydep ~basedep ~binary
Dependency ranges changed: array, base, binary, template-haskell, transformers
Files
- CasIORef.hs +3/−3
- dist/build/parinfer/parinfer-tmp/Lex.hs +14/−16
- dist/build/parinfer/parinfer-tmp/Parse.hs +32/−33
- parconc-examples.cabal +210/−156
CasIORef.hs view
@@ -10,6 +10,6 @@ casIORef (IORef (STRef r#)) old new = IO $ \s -> case casMutVar# r# old new s of (# s', did, val #) ->- if did ==# 0# then (# s', True #)- else (# s', False #)-+ case did of+ 0# -> (# s', False #)+ _ -> (# s', True #)
dist/build/parinfer/parinfer-tmp/Lex.hs view
@@ -67,11 +67,11 @@ {-# LINE 72 "templates/wrappers.hs" #-} -{-# LINE 92 "templates/wrappers.hs" #-}+{-# LINE 89 "templates/wrappers.hs" #-} -{-# LINE 106 "templates/wrappers.hs" #-}+{-# LINE 103 "templates/wrappers.hs" #-} -{-# LINE 121 "templates/wrappers.hs" #-}+{-# LINE 118 "templates/wrappers.hs" #-} -- ----------------------------------------------------------------------------- -- Token positions@@ -83,18 +83,18 @@ -- `move_pos' calculates the new position after traversing a given character, -- assuming the usual eight character tab stops. -{-# LINE 144 "templates/wrappers.hs" #-}+{-# LINE 141 "templates/wrappers.hs" #-} -- ----------------------------------------------------------------------------- -- Default monad -{-# LINE 242 "templates/wrappers.hs" #-}+{-# LINE 239 "templates/wrappers.hs" #-} -- ----------------------------------------------------------------------------- -- Monad (with ByteString input) -{-# LINE 333 "templates/wrappers.hs" #-}+{-# LINE 328 "templates/wrappers.hs" #-} -- -----------------------------------------------------------------------------@@ -127,9 +127,9 @@ -- ----------------------------------------------------------------------------- -- Basic wrapper, ByteString version -{-# LINE 378 "templates/wrappers.hs" #-}+{-# LINE 373 "templates/wrappers.hs" #-} -{-# LINE 392 "templates/wrappers.hs" #-}+{-# LINE 386 "templates/wrappers.hs" #-} -- -----------------------------------------------------------------------------@@ -137,13 +137,13 @@ -- Adds text positions to the basic model. -{-# LINE 409 "templates/wrappers.hs" #-}+{-# LINE 403 "templates/wrappers.hs" #-} -- ----------------------------------------------------------------------------- -- Posn wrapper, ByteString version -{-# LINE 424 "templates/wrappers.hs" #-}+{-# LINE 418 "templates/wrappers.hs" #-} -- -----------------------------------------------------------------------------@@ -204,7 +204,6 @@ --- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex. #if __GLASGOW_HASKELL__ > 706 #define GTE(n,m) (tagToEnum# (n >=# m)) #define EQ(n,m) (tagToEnum# (n ==# m))@@ -212,11 +211,11 @@ #define GTE(n,m) (n >=# m) #define EQ(n,m) (n ==# m) #endif-{-# LINE 51 "templates/GenericTemplate.hs" #-}+{-# LINE 50 "templates/GenericTemplate.hs" #-} data AlexAddr = AlexA# Addr#--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.+ #if __GLASGOW_HASKELL__ < 503 uncheckedShiftL# = shiftL# #endif@@ -259,7 +258,6 @@ - #if __GLASGOW_HASKELL__ < 503 quickIndex arr i = arr ! i #else@@ -348,7 +346,7 @@ check_accs (AlexAccNone) = last_acc check_accs (AlexAcc a ) = AlexLastAcc a input (I# (len)) check_accs (AlexAccSkip) = AlexLastSkip input (I# (len))-{-# LINE 198 "templates/GenericTemplate.hs" #-}+{-# LINE 196 "templates/GenericTemplate.hs" #-} data AlexLastAcc a = AlexNone@@ -364,7 +362,7 @@ = AlexAccNone | AlexAcc a | AlexAccSkip-{-# LINE 242 "templates/GenericTemplate.hs" #-}+{-# LINE 240 "templates/GenericTemplate.hs" #-} -- used by wrappers iUnbox (I# (i)) = i
dist/build/parinfer/parinfer-tmp/Parse.hs view
@@ -6,7 +6,7 @@ import qualified Data.Array as Happy_Data_Array import qualified GHC.Exts as Happy_GHC_Exts --- parser produced by Happy Version 1.19.3+-- parser produced by Happy Version 1.19.0 newtype HappyAbsSyn t8 t9 t10 t11 = HappyAbsSyn HappyAny #if __GLASGOW_HASKELL__ >= 607@@ -316,7 +316,6 @@ --- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex. #if __GLASGOW_HASKELL__ > 706 #define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool) #define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)@@ -326,7 +325,7 @@ #define GTE(n,m) (n Happy_GHC_Exts.>=# m) #define EQ(n,m) (n Happy_GHC_Exts.==# m) #endif-{-# LINE 46 "templates/GenericTemplate.hs" #-}+{-# LINE 45 "templates/GenericTemplate.hs" #-} data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList@@ -335,11 +334,11 @@ -{-# LINE 67 "templates/GenericTemplate.hs" #-}+{-# LINE 66 "templates/GenericTemplate.hs" #-} -{-# LINE 77 "templates/GenericTemplate.hs" #-}+{-# LINE 76 "templates/GenericTemplate.hs" #-} -{-# LINE 86 "templates/GenericTemplate.hs" #-}+{-# LINE 85 "templates/GenericTemplate.hs" #-} infixr 9 `HappyStk` data HappyStk a = HappyStk a (HappyStk a)@@ -356,9 +355,9 @@ -- parse (a %partial parser). We must ignore the saved token on the top of -- the stack in this case. happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =- happyReturn1 ans+ happyReturn1 ans happyAccept j tk st sts (HappyStk ans _) = - (happyTcHack j (happyTcHack st)) (happyReturn1 ans)+ (happyTcHack j (happyTcHack st)) (happyReturn1 ans) ----------------------------------------------------------------------------- -- Arrays only: do the next action@@ -366,35 +365,35 @@ happyDoAction i tk st- = {- nothing -}+ = {- nothing -} - case action of- 0# -> {- nothing -}- happyFail i tk st- -1# -> {- nothing -}- happyAccept i tk st- n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}+ case action of+ 0# -> {- nothing -}+ happyFail i tk st+ -1# -> {- nothing -}+ happyAccept i tk st+ n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -} - (happyReduceArr Happy_Data_Array.! rule) i tk st- where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))- n -> {- nothing -}+ (happyReduceArr Happy_Data_Array.! rule) i tk st+ where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))+ n -> {- nothing -} - happyShift new_state i tk st+ happyShift new_state i tk st where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) where off = indexShortOffAddr happyActOffsets st off_i = (off Happy_GHC_Exts.+# i)- check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))+ check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#)) then EQ(indexShortOffAddr happyCheck off_i, i)- else False+ else False action | check = indexShortOffAddr happyTable off_i | otherwise = indexShortOffAddr happyDefActions st indexShortOffAddr (HappyA# arr) off =- Happy_GHC_Exts.narrow16Int# i+ Happy_GHC_Exts.narrow16Int# i where i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low) high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))@@ -413,7 +412,7 @@ ----------------------------------------------------------------------------- -- HappyState data type (not arrays) -{-# LINE 170 "templates/GenericTemplate.hs" #-}+{-# LINE 169 "templates/GenericTemplate.hs" #-} ----------------------------------------------------------------------------- -- Shifting a token@@ -455,9 +454,9 @@ = happyFail 0# tk st sts stk happyReduce k nt fn j tk st sts stk = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) ->- let r = fn stk in -- it doesn't hurt to always seq here...- happyDoSeq r (happyGoto nt j tk st1 sts1 r)+ sts1@((HappyCons (st1@(action)) (_))) ->+ let r = fn stk in -- it doesn't hurt to always seq here...+ happyDoSeq r (happyGoto nt j tk st1 sts1 r) happyMonadReduce k nt fn 0# tk st sts stk = happyFail 0# tk st sts stk@@ -509,7 +508,7 @@ -- parse error if we are in recovery and we fail again happyFail 0# tk old_st _ stk@(x `HappyStk` _) = let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "failing" $ +-- trace "failing" $ happyError_ i tk {- We don't need state discarding for our restricted implementation of@@ -518,16 +517,16 @@ -- discard a state happyFail 0# tk old_st (HappyCons ((action)) (sts)) - (saved_tok `HappyStk` _ `HappyStk` stk) =--- trace ("discarding state, depth " ++ show (length stk)) $- happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))+ (saved_tok `HappyStk` _ `HappyStk` stk) =+-- trace ("discarding state, depth " ++ show (length stk)) $+ happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk)) -} -- Enter error recovery: generate an error token, -- save the old token and carry on. happyFail i tk (action) sts stk = -- trace "entering error recovery" $- happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)+ happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk) -- Internal happy errors: @@ -545,9 +544,9 @@ ----------------------------------------------------------------------------- -- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq+-- happySeq = happyDoSeq -- otherwise it emits--- happySeq = happyDontSeq+-- happySeq = happyDontSeq happyDoSeq, happyDontSeq :: a -> b -> b happyDoSeq a b = a `seq` b
parconc-examples.cabal view
@@ -1,5 +1,5 @@ name: parconc-examples-version: 0.3.2+version: 0.3.3 synopsis: Examples to accompany the book "Parallel and Concurrent Programming in Haskell" -- description: license: BSD3@@ -53,12 +53,22 @@ flag cuda default: False +-- -f-accelerate: Do not build the examples that require accelerate.++flag accelerate+ default : True++-- -f-distributed: Do not build the examples that require distributed-process.++flag distributed+ default : True+ -- ----------------------------------------------------------------------------- -- par-eval executable rpar main-is: rpar.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , time ==1.4.* , parallel ==3.2.* default-language: Haskell2010@@ -66,17 +76,17 @@ executable sudoku1 main-is: sudoku1.hs other-modules: Sudoku- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , parallel ==3.2.*- , array ==0.4.*+ , array >= 0.4 && <0.6 default-language: Haskell2010 executable sudoku2 main-is: sudoku2.hs other-modules: Sudoku- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , parallel ==3.2.*- , array ==0.4.*+ , array >= 0.4 && <0.6 , deepseq ==1.3.* ghc-options: -threaded default-language: Haskell2010@@ -84,27 +94,27 @@ executable sudoku3 main-is: sudoku3.hs other-modules: Sudoku- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , parallel ==3.2.*- , array ==0.4.*+ , array >= 0.4 && <0.6 ghc-options: -threaded default-language: Haskell2010 executable sudoku4 main-is: sudoku4.hs other-modules: Sudoku- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , parallel ==3.2.*- , array ==0.4.*+ , array >= 0.4 && <0.6 ghc-options: -threaded default-language: Haskell2010 executable sudoku5 main-is: sudoku5.hs other-modules: Sudoku- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , parallel ==3.2.*- , array ==0.4.*+ , array >= 0.4 && <0.6 ghc-options: -threaded default-language: Haskell2010 @@ -113,21 +123,21 @@ executable strat main-is: strat.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , parallel ==3.2.* ghc-options: -threaded default-language: Haskell2010 executable strat2 main-is: strat2.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , parallel ==3.2.* ghc-options: -threaded default-language: Haskell2010 executable strat3 main-is: strat3.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , parallel ==3.2.* ghc-options: -threaded default-language: Haskell2010@@ -135,7 +145,7 @@ executable rsa main-is: rsa.hs other-modules: ByteStringCompat- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , bytestring >= 0.9 && < 0.11 , deepseq ==1.3.* default-language: Haskell2010@@ -143,7 +153,7 @@ executable rsa1 main-is: rsa1.hs other-modules: ByteStringCompat- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , bytestring >= 0.9 && < 0.11 , parallel ==3.2.* , deepseq ==1.3.*@@ -153,7 +163,7 @@ executable rsa2 main-is: rsa2.hs other-modules: ByteStringCompat- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , bytestring >= 0.9 && < 0.11 , parallel ==3.2.* , deepseq ==1.3.*@@ -164,15 +174,15 @@ hs-source-dirs: kmeans main-is: kmeans.hs other-modules: KMeansCore- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , parallel ==3.2.* , time ==1.4.* , deepseq ==1.3.* , monad-par >= 0.3.4 && < 0.4 -- monad-par 0.3 has a bug: -- https://github.com/simonmar/monad-par/issues/23- , binary >=0.6.3 && < 0.7- , array ==0.4.*+ , binary >=0.6.3 && < 0.8+ , array >= 0.4 && <0.6 , bytestring >= 0.9 && < 0.11 , vector >= 0.10 && < 0.11 ghc-options: -threaded@@ -181,9 +191,9 @@ executable GenSamples hs-source-dirs: kmeans main-is: GenSamples.hs- build-depends: base >= 4.5 && < 4.7- , binary >=0.6.3 && < 0.7- , array ==0.4.*+ build-depends: base >= 4.5 && < 4.8+ , binary >=0.6.3 && < 0.8+ , array >= 0.4 && <0.6 , vector >= 0.10 && < 0.11 , random >= 1.0 && < 1.1 , normaldistribution >= 1.1 && < 1.2@@ -196,7 +206,7 @@ executable parmonad main-is: parmonad.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , monad-par >= 0.3.4 && < 0.4 ghc-options: -threaded default-language: Haskell2010@@ -204,7 +214,7 @@ executable rsa-pipeline main-is: rsa-pipeline.hs other-modules: ByteStringCompat Stream- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , bytestring >= 0.9 && < 0.11 , monad-par >= 0.3.4 && < 0.4 , deepseq ==1.3.*@@ -215,9 +225,9 @@ main-is: fwsparse.hs other-modules: SparseGraph MapCompat hs-source-dirs: fwsparse- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , random >= 1.0 && < 1.1- , array ==0.4.*+ , array >= 0.4 && <0.6 , containers >= 0.4 && < 0.6 default-language: Haskell2010 @@ -225,9 +235,9 @@ main-is: fwsparse1.hs other-modules: SparseGraph MapCompat hs-source-dirs: fwsparse- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , random >= 1.0 && < 1.1- , array ==0.4.*+ , array >= 0.4 && <0.6 , containers >= 0.4 && < 0.6 , monad-par >= 0.3.4 && < 0.4 , deepseq ==1.3.*@@ -236,7 +246,7 @@ executable timetable main-is: timetable.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , deepseq ==1.3.* , random >= 1.0 && < 1.1@@ -244,7 +254,7 @@ executable timetable1 main-is: timetable1.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , deepseq ==1.3.* , monad-par >= 0.3.4 && < 0.4@@ -253,7 +263,7 @@ executable timetable2 main-is: timetable2.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , deepseq ==1.3.* , monad-par >= 0.3.4 && < 0.4@@ -262,7 +272,7 @@ executable timetable3 main-is: timetable3.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , deepseq ==1.3.* , monad-par >= 0.3.4 && < 0.4@@ -285,11 +295,11 @@ Infer Substitution StateX- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , deepseq ==1.3.* , monad-par >= 0.3.4 && < 0.4- , array ==0.4.*+ , array >= 0.4 && <0.6 default-language: Haskell2010 -- -----------------------------------------------------------------------------@@ -297,7 +307,7 @@ executable fwdense main-is: fwdense.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , repa == 3.2.* ghc-options: -O2 if flag(llvm)@@ -306,9 +316,9 @@ executable fwdense1 main-is: fwdense1.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , repa == 3.2.*- , transformers ==0.3.*+ , transformers >=0.3 && <0.5 ghc-options: -O2 -threaded if flag(llvm) ghc-options: -fllvm@@ -316,7 +326,7 @@ executable rotateimage main-is: rotateimage.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , repa == 3.2.* ghc-options: -O2 -threaded if flag(devil)@@ -333,15 +343,21 @@ executable fwaccel main-is: fwaccel.hs other-modules: AccelerateCompat- build-depends: base >= 4.5 && < 4.7- , accelerate >= 0.12 && < 0.15+ build-depends: base >= 4.5 && < 4.8 ghc-options: -O2+ if flag(accelerate)+ build-depends: accelerate >= 0.12 && < 0.15+ else+ buildable: False default-language: Haskell2010 executable fwaccel-gpu main-is: fwaccel-gpu.hs- build-depends: base >= 4.5 && < 4.7- , accelerate >= 0.12 && < 0.15+ build-depends: base >= 4.5 && < 4.8+ if flag(accelerate)+ build-depends: accelerate >= 0.12 && < 0.15+ else+ buildable: False if flag(cuda) build-depends: accelerate-cuda >= 0.12 && < 0.15 else@@ -353,10 +369,13 @@ main-is: mandel.hs other-modules: Config hs-source-dirs: mandel- build-depends: base >= 4.5 && < 4.7- , accelerate >= 0.12 && < 0.15+ build-depends: base >= 4.5 && < 4.8 , fclabels- , accelerate-io+ if flag(accelerate)+ build-depends: accelerate >= 0.12 && < 0.15+ , accelerate-io+ else+ buildable: False if flag(cuda) build-depends: accelerate-cuda >= 0.12 && < 0.15 else@@ -369,17 +388,17 @@ executable fork main-is: fork.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable reminders main-is: reminders.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable reminders2 main-is: reminders2.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 -- -----------------------------------------------------------------------------@@ -387,38 +406,38 @@ executable mvar1 main-is: mvar1.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable mvar2 main-is: mvar2.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable mvar3 main-is: mvar3.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable logger main-is: logger.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable phonebook main-is: phonebook.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 default-language: Haskell2010 executable chan main-is: chan.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable chan2 main-is: chan2.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 -- -----------------------------------------------------------------------------@@ -427,7 +446,7 @@ executable geturls1 main-is: geturls1.hs other-modules: GetURL- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , network >= 2.3 && < 2.5 , HTTP ==4000.2.*@@ -437,7 +456,7 @@ executable geturls2 main-is: geturls2.hs other-modules: GetURL- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -448,7 +467,7 @@ executable geturls3 main-is: geturls3.hs other-modules: TimeIt GetURL- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -459,7 +478,7 @@ executable geturls4 main-is: geturls4.hs other-modules: GetURL- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -470,7 +489,7 @@ executable geturls5 main-is: geturls5.hs other-modules: GetURL- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -481,7 +500,7 @@ executable geturls6 main-is: geturls6.hs other-modules: TimeIt GetURL- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -495,7 +514,7 @@ executable geturlscancel main-is: geturlscancel.hs other-modules: TimeIt GetURL- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -506,7 +525,7 @@ executable geturlscancel2 main-is: geturlscancel2.hs other-modules: TimeIt GetURL- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -516,27 +535,27 @@ executable modifytwo main-is: modifytwo.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable chan3 main-is: chan3.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable timeout main-is: timeout.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable catch-mask main-is: catch-mask.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable catch-mask2 main-is: catch-mask2.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 -- -----------------------------------------------------------------------------@@ -545,21 +564,21 @@ -- not mentioned in the text? executable windowman main-is: windowman.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , stm ==2.4.* default-language: Haskell2010 executable tmvar main-is: tmvar.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* default-language: Haskell2010 executable geturlsfirst main-is: geturlsfirst.hs other-modules: ConcurrentUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -569,25 +588,25 @@ executable TChan main-is: TChan.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* default-language: Haskell2010 executable TList main-is: TList.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* default-language: Haskell2010 executable TQueue main-is: TQueue.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* default-language: Haskell2010 executable TBQueue main-is: TBQueue.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* default-language: Haskell2010 @@ -597,7 +616,7 @@ executable geturls7 main-is: geturls7.hs other-modules: ConcurrentUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -607,7 +626,7 @@ executable geturls8 main-is: geturls8.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -617,7 +636,7 @@ executable geturls9 main-is: geturls9.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -627,7 +646,7 @@ executable timeout2 main-is: timeout.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , async ==2.0.* default-language: Haskell2010 @@ -636,7 +655,7 @@ executable findseq main-is: findseq.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , filepath ==1.3.* , directory >= 1.1 && < 1.3 default-language: Haskell2010@@ -644,7 +663,7 @@ executable findpar main-is: findpar.hs ghc-options: -threaded- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , filepath ==1.3.* , directory >= 1.1 && < 1.3 , async ==2.0.*@@ -653,7 +672,7 @@ executable findpar2 main-is: findpar2.hs ghc-options: -threaded- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , filepath ==1.3.* , directory >= 1.1 && < 1.3 , async ==2.0.*@@ -663,7 +682,7 @@ main-is: findpar3.hs other-modules: CasIORef ghc-options: -threaded- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , filepath ==1.3.* , directory >= 1.1 && < 1.3 , async ==2.0.*@@ -673,12 +692,12 @@ executable findpar4 main-is: findpar4.hs ghc-options: -threaded- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , filepath ==1.3.* , directory >= 1.1 && < 1.3 , async ==2.0.* , stm ==2.4.*- , transformers ==0.3.*+ , transformers >=0.3 && <0.5 , abstract-par ==0.3.* , monad-par >= 0.3.4 && < 0.4 default-language: Haskell2010@@ -689,7 +708,7 @@ executable server main-is: server.hs other-modules: ConcurrentUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , network >= 2.3 && < 2.5 default-language: Haskell2010@@ -697,7 +716,7 @@ executable server2 main-is: server2.hs other-modules: ConcurrentUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , async ==2.0.* , network >= 2.3 && < 2.5@@ -706,7 +725,7 @@ executable chat main-is: chat.hs other-modules: ConcurrentUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , async ==2.0.* , stm ==2.4.*@@ -719,149 +738,184 @@ executable ping main-is: distrib-ping/ping.hs other-modules: DistribUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , network >= 2.3 && < 2.5- , binary >=0.6.3 && < 0.7- , distributed-process >= 0.4.2 && < 0.5- , distributed-process-simplelocalnet ==0.2.*- , distributed-static ==0.2.*- , template-haskell >= 2.7 && < 2.9+ , binary >=0.6.3 && < 0.8+ , template-haskell >= 2.7 && < 2.10 if impl(ghc <= 7.6) -- prior to ghc-7.4 generics lived in ghc-prim build-depends: ghc-prim+ if flag(distributed)+ build-depends:+ distributed-process >= 0.4.2 && < 0.5+ , distributed-process-simplelocalnet ==0.2.*+ , distributed-static ==0.2.*+ else+ buildable: False default-language: Haskell2010 executable ping-multi main-is: distrib-ping/ping-multi.hs other-modules: DistribUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , network >= 2.3 && < 2.5- , binary >=0.6.3 && < 0.7- , distributed-process >= 0.4.2 && < 0.5- , distributed-process-simplelocalnet ==0.2.*- , distributed-static ==0.2.*- , template-haskell >= 2.7 && < 2.9+ , binary >=0.6.3 && < 0.8+ , template-haskell >= 2.7 && < 2.10 if impl(ghc <= 7.6) -- prior to ghc-7.4 generics lived in ghc-prim build-depends: ghc-prim+ if flag(distributed)+ build-depends:+ distributed-process >= 0.4.2 && < 0.5+ , distributed-process-simplelocalnet ==0.2.*+ , distributed-static ==0.2.*+ else+ buildable: False default-language: Haskell2010 executable ping-tc main-is: distrib-ping/ping-tc.hs other-modules: DistribUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , network >= 2.3 && < 2.5- , binary >=0.6.3 && < 0.7- , distributed-process >= 0.4.2 && < 0.5- , distributed-process-simplelocalnet ==0.2.*- , distributed-static ==0.2.*- , template-haskell >= 2.7 && < 2.9+ , binary >=0.6.3 && < 0.8+ , template-haskell >= 2.7 && < 2.10 if impl(ghc <= 7.6) -- prior to ghc-7.4 generics lived in ghc-prim build-depends: ghc-prim+ if flag(distributed)+ build-depends:+ distributed-process >= 0.4.2 && < 0.5+ , distributed-process-simplelocalnet ==0.2.*+ , distributed-static ==0.2.*+ else+ buildable: False default-language: Haskell2010 executable ping-tc-merge main-is: distrib-ping/ping-tc-merge.hs other-modules: DistribUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , network >= 2.3 && < 2.5- , binary >=0.6.3 && < 0.7- , distributed-process >= 0.4.2 && < 0.5- , distributed-process-simplelocalnet ==0.2.*- , distributed-static ==0.2.*- , template-haskell >= 2.7 && < 2.9+ , binary >=0.6.3 && < 0.8+ , template-haskell >= 2.7 && < 2.10 if impl(ghc <= 7.6) -- prior to ghc-7.4 generics lived in ghc-prim build-depends: ghc-prim+ if flag(distributed)+ build-depends:+ distributed-process >= 0.4.2 && < 0.5+ , distributed-process-simplelocalnet ==0.2.*+ , distributed-static ==0.2.*+ else+ buildable: False default-language: Haskell2010 -- extra, not in the text? executable ping-tc-notify main-is: distrib-ping/ping-tc-notify.hs other-modules: DistribUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , network >= 2.3 && < 2.5- , binary >=0.6.3 && < 0.7- , distributed-process >= 0.4.2 && < 0.5- , distributed-process-simplelocalnet ==0.2.*- , distributed-static ==0.2.*- , template-haskell >= 2.7 && < 2.9+ , binary >=0.6.3 && < 0.8+ , template-haskell >= 2.7 && < 2.10 if impl(ghc <= 7.6) -- prior to ghc-7.4 generics lived in ghc-prim build-depends: ghc-prim+ if flag(distributed)+ build-depends:+ distributed-process >= 0.4.2 && < 0.5+ , distributed-process-simplelocalnet ==0.2.*+ , distributed-static ==0.2.*+ else+ buildable: False default-language: Haskell2010 executable ping-fail main-is: distrib-ping/ping-fail.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , network >= 2.3 && < 2.5- , binary >=0.6.3 && < 0.7- , distributed-process >= 0.4.2 && < 0.5- , distributed-process-simplelocalnet ==0.2.*- , distributed-static ==0.2.*- , template-haskell >= 2.7 && < 2.9+ , binary >=0.6.3 && < 0.8+ , template-haskell >= 2.7 && < 2.10 if impl(ghc <= 7.6) -- prior to ghc-7.4 generics lived in ghc-prim build-depends: ghc-prim+ if flag(distributed)+ build-depends:+ distributed-process >= 0.4.2 && < 0.5+ , distributed-process-simplelocalnet ==0.2.*+ , distributed-static ==0.2.*+ else+ buildable: False default-language: Haskell2010 executable distrib-chat main-is: distrib-chat/chat.hs other-modules: ConcurrentUtils DistribUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , stm ==2.4.* , async ==2.0.* , network >= 2.3 && < 2.5- , binary >=0.6.3 && < 0.7- , distributed-process >= 0.4.2 && < 0.5- , distributed-process-simplelocalnet ==0.2.*- , distributed-static ==0.2.*- , transformers ==0.3.*- , template-haskell >= 2.7 && < 2.9+ , binary >=0.6.3 && < 0.8+ , transformers >=0.3 && <0.5+ , template-haskell >= 2.7 && < 2.10 if impl(ghc <= 7.6) -- prior to ghc-7.4 generics lived in ghc-prim build-depends: ghc-prim+ if flag(distributed)+ build-depends:+ distributed-process >= 0.4.2 && < 0.5+ , distributed-process-simplelocalnet ==0.2.*+ , distributed-static ==0.2.*+ else+ buildable: False default-language: Haskell2010 executable distrib-chat-noslave main-is: distrib-chat/chat-noslave.hs other-modules: ConcurrentUtils- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , stm ==2.4.* , async ==2.0.* , network >= 2.3 && < 2.5- , binary >=0.6.3 && < 0.7- , distributed-process >= 0.4.2 && < 0.5- , distributed-process-simplelocalnet ==0.2.*- , distributed-static ==0.2.*- , transformers ==0.3.*- , template-haskell >= 2.7 && < 2.9+ , binary >=0.6.3 && < 0.8+ , transformers >=0.3 && <0.5+ , template-haskell >= 2.7 && < 2.10 if impl(ghc <= 7.6) -- prior to ghc-7.4 generics lived in ghc-prim build-depends: ghc-prim+ if flag(distributed)+ build-depends:+ distributed-process >= 0.4.2 && < 0.5+ , distributed-process-simplelocalnet ==0.2.*+ , distributed-static ==0.2.*+ else+ buildable: False default-language: Haskell2010 executable distrib-db main-is: db.hs hs-source-dirs: . distrib-db other-modules: DistribUtils Database- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , containers >= 0.4 && < 0.6 , stm ==2.4.* , async ==2.0.* , network >= 2.3 && < 2.5- , binary >=0.6.3 && < 0.7- , distributed-process >= 0.4.2 && < 0.5- , distributed-process-simplelocalnet ==0.2.*- , distributed-static ==0.2.*- , transformers ==0.3.*- , template-haskell >= 2.7 && < 2.9+ , binary >=0.6.3 && < 0.8+ , template-haskell >= 2.7 && < 2.10 if impl(ghc <= 7.6) -- prior to ghc-7.4 generics lived in ghc-prim build-depends: ghc-prim+ if flag(distributed)+ build-depends:+ distributed-process >= 0.4.2 && < 0.5+ , distributed-process-simplelocalnet ==0.2.*+ , distributed-static ==0.2.*+ else+ buildable: False default-language: Haskell2010 -- -----------------------------------------------------------------------------@@ -869,27 +923,27 @@ executable mvar4 main-is: mvar4.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable deadlock1 main-is: deadlock1.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable deadlock2 main-is: deadlock2.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable threadperf1 main-is: threadperf1.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 default-language: Haskell2010 executable threadperf2 main-is: threadperf2.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 ghc-options: -rtsopts default-language: Haskell2010 @@ -900,7 +954,7 @@ main-is: bingtranslator.hs other-modules: BingTranslate GetURL hs-source-dirs: other .- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , bytestring >= 0.9 && < 0.11 , time ==1.4.* , HTTP ==4000.2.*@@ -913,7 +967,7 @@ main-is: bingtranslatorconc.hs other-modules: BingTranslate GetURL hs-source-dirs: other .- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , bytestring >= 0.9 && < 0.11 , time ==1.4.* , HTTP ==4000.2.*@@ -925,7 +979,7 @@ executable geturlsstm main-is: geturlsstm.hs other-modules: TimeIt GetURL- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* , bytestring >= 0.9 && < 0.11 , time ==1.4.*@@ -935,7 +989,7 @@ executable Async main-is: Async.hs- build-depends: base >= 4.5 && < 4.7+ build-depends: base >= 4.5 && < 4.8 , stm ==2.4.* default-language: Haskell2010