packages feed

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 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