parconc-examples 0.4.5 → 0.4.7
raw patch · 8 files changed
+241/−1290 lines, 8 filesdep ~acceleratedep ~asyncdep ~base
Dependency ranges changed: accelerate, async, base, binary, directory, distributed-process, http-conduit, network, template-haskell, time, transformers, vector
Files
- AccelerateCompat.hs +7/−1
- ChangeLog.md +17/−0
- README.md +8/−1
- dist/build/parinfer/parinfer-tmp/Lex.hs +0/−503
- dist/build/parinfer/parinfer-tmp/Parse.hs +0/−580
- fwaccel.hs +1/−1
- kmeans/GenSamples.hs +3/−3
- parconc-examples.cabal +205/−201
AccelerateCompat.hs view
@@ -1,6 +1,12 @@ {-# LANGUAGE CPP #-} -#if MIN_VERSION_accelerate(0, 14, 0)+#if MIN_VERSION_accelerate(1, 0, 0)++module AccelerateCompat (A.min, A.max) where++import Data.Array.Accelerate as A++#elif MIN_VERSION_accelerate(0, 14, 0) module AccelerateCompat (min, max) where
ChangeLog.md view
@@ -1,3 +1,20 @@+# Version 0.4.7++* Builds with GHC 8.2.x and 8.4.x++# Version 0.4.6++* Builds with GHC 7.10 and GHC 8.0.2+* Test with cabal new-build, and addit to the instructions++# Version 0.4.5++* Fix build with GHC 7.8++# Version 0.4.4++* Use http-conduit instead of HTTP (fixes problems with wikipedia URL examples)+ # Version 0.4.3 * Fix build with GHC 7.8
README.md view
@@ -15,11 +15,18 @@ will build all the executables and install them in a platform-specific subdirectory under `.stack-work/install`. +## Building with Cabal new-build++```+cabal new-build+```+ ## Building with Cabal ```-cabal sandox init+cabal sandbox init cabal install --only-dependencies cabal configure cabal build ```+
− dist/build/parinfer/parinfer-tmp/Lex.hs
@@ -1,503 +0,0 @@-{-# LANGUAGE CPP,MagicHash #-}-{-# LINE 1 "parinfer/Lex.x" #-}--module Lex where--#if __GLASGOW_HASKELL__ >= 603-#include "ghcconfig.h"-#elif defined(__GLASGOW_HASKELL__)-#include "config.h"-#endif-#if __GLASGOW_HASKELL__ >= 503-import Data.Array-import Data.Char (ord)-import Data.Array.Base (unsafeAt)-#else-import Array-import Char (ord)-#endif-#if __GLASGOW_HASKELL__ >= 503-import GHC.Exts-#else-import GlaExts-#endif-{-# LINE 1 "templates/wrappers.hs" #-}-{-# LINE 1 "templates/wrappers.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 9 "<command-line>" #-}-# 1 "/usr/include/stdc-predef.h" 1 3 4--# 17 "/usr/include/stdc-predef.h" 3 4-------------------------------------------{-# LINE 9 "<command-line>" #-}-{-# LINE 1 "/home/smarlow/local/lib/ghc-7.10.1/include/ghcversion.h" #-}------------------{-# LINE 9 "<command-line>" #-}-{-# LINE 1 "templates/wrappers.hs" #-}--- -------------------------------------------------------------------------------- Alex wrapper code.------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.--import Control.Applicative (Applicative (..))-import Data.Word (Word8)-{-# LINE 23 "templates/wrappers.hs" #-}--import qualified Data.Bits---- | Encode a Haskell String to a list of Word8 values, in UTF8 format.-utf8Encode :: Char -> [Word8]-utf8Encode = map fromIntegral . go . ord- where- go oc- | oc <= 0x7f = [oc]-- | oc <= 0x7ff = [ 0xc0 + (oc `Data.Bits.shiftR` 6)- , 0x80 + oc Data.Bits..&. 0x3f- ]-- | oc <= 0xffff = [ 0xe0 + (oc `Data.Bits.shiftR` 12)- , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f)- , 0x80 + oc Data.Bits..&. 0x3f- ]- | otherwise = [ 0xf0 + (oc `Data.Bits.shiftR` 18)- , 0x80 + ((oc `Data.Bits.shiftR` 12) Data.Bits..&. 0x3f)- , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f)- , 0x80 + oc Data.Bits..&. 0x3f- ]----type Byte = Word8---- -------------------------------------------------------------------------------- The input type--{-# LINE 73 "templates/wrappers.hs" #-}--{-# LINE 93 "templates/wrappers.hs" #-}--{-# LINE 107 "templates/wrappers.hs" #-}--{-# LINE 122 "templates/wrappers.hs" #-}---- -------------------------------------------------------------------------------- Token positions---- `Posn' records the location of a token in the input text. It has three--- fields: the address (number of chacaters preceding the token), line number--- and column of a token within the file. `start_pos' gives the position of the--- start of the file and `eof_pos' a standard encoding for the end of file.--- `move_pos' calculates the new position after traversing a given character,--- assuming the usual eight character tab stops.--{-# LINE 145 "templates/wrappers.hs" #-}---- -------------------------------------------------------------------------------- Default monad--{-# LINE 256 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Monad (with ByteString input)--{-# LINE 347 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Basic wrapper---type AlexInput = (Char,[Byte],String)--alexInputPrevChar :: AlexInput -> Char-alexInputPrevChar (c,_,_) = c---- alexScanTokens :: String -> [token]-alexScanTokens str = go ('\n',[],str)- where go inp@(_,_bs,s) =- case alexScan inp 0 of- AlexEOF -> []- AlexError _ -> error "lexical error"- AlexSkip inp' len -> go inp'- AlexToken inp' len act -> act (take len s) : go inp'--alexGetByte :: AlexInput -> Maybe (Byte,AlexInput)-alexGetByte (c,(b:bs),s) = Just (b,(c,bs,s))-alexGetByte (c,[],[]) = Nothing-alexGetByte (_,[],(c:s)) = case utf8Encode c of- (b:bs) -> Just (b, (c, bs, s))- [] -> Nothing------ -------------------------------------------------------------------------------- Basic wrapper, ByteString version--{-# LINE 392 "templates/wrappers.hs" #-}--{-# LINE 406 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Posn wrapper---- Adds text positions to the basic model.--{-# LINE 423 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- Posn wrapper, ByteString version--{-# LINE 438 "templates/wrappers.hs" #-}----- -------------------------------------------------------------------------------- GScan wrapper---- For compatibility with previous versions of Alex, and because we can.--alex_base :: AlexAddr-alex_base = AlexA# "\xf8\xff\xff\xff\xb4\xff\xff\xff\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\xa5\x00\x00\x00\x25\x01\x00\x00\x25\x02\x00\x00\xe5\x01\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\xdb\x02\x00\x00\xbf\x02\x00\x00\xb4\x03\x00\x00\xdb\xff\xff\xff\x00\x00\x00\x00\xe8\xff\xff\xff\x00\x00\x00\x00\x08\x04\x00\x00\x5c\x04\x00\x00\xb0\x04\x00\x00\x04\x05\x00\x00"#--alex_table :: AlexAddr-alex_table = AlexA# "\x00\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0b\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x11\x00\x11\x00\x11\x00\x11\x00\x00\x00\x10\x00\x0f\x00\x11\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x11\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x14\x00\x13\x00\x13\x00\x12\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x07\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x08\x00\x06\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x05\x00\x04\x00\x04\x00\x04\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x15\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x0d\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x0c\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--alex_check :: AlexAddr-alex_check = AlexA# "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x2d\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x28\x00\x29\x00\x2a\x00\x2b\x00\xff\xff\x2d\x00\x3e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--alex_deflt :: AlexAddr-alex_deflt = AlexA# "\xff\xff\x09\x00\x09\x00\x02\x00\x02\x00\xff\xff\xff\xff\x0b\x00\x0b\x00\x0b\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--alex_accept = listArray (0::Int,21) [AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccSkip,AlexAccSkip,AlexAcc (alex_action_2),AlexAcc (alex_action_3),AlexAcc (alex_action_4),AlexAcc (alex_action_5),AlexAcc (alex_action_6),AlexAcc (alex_action_6),AlexAcc (alex_action_7),AlexAcc (alex_action_7),AlexAcc (alex_action_7),AlexAcc (alex_action_7)]-{-# LINE 21 "parinfer/Lex.x" #-}---- Each right-hand side has type :: String -> Token---- The token type:-data Token =- TLet |- TIn |- TSym Char |- TVar String |- TInt Int |- TArrow- deriving (Eq,Show)--alex_action_2 = \s -> TLet -alex_action_3 = \s -> TIn -alex_action_4 = \s -> TInt (read s) -alex_action_5 = \s -> TArrow -alex_action_6 = \s -> TSym (head s) -alex_action_7 = \s -> TVar s -{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 10 "<command-line>" #-}-# 1 "/usr/include/stdc-predef.h" 1 3 4--# 17 "/usr/include/stdc-predef.h" 3 4-------------------------------------------{-# LINE 10 "<command-line>" #-}-{-# LINE 1 "/home/smarlow/local/lib/ghc-7.10.1/include/ghcversion.h" #-}------------------{-# LINE 10 "<command-line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- -------------------------------------------------------------------------------- ALEX TEMPLATE------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.---- -------------------------------------------------------------------------------- INTERNALS and main scanner engine--{-# LINE 21 "templates/GenericTemplate.hs" #-}-------- 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))-#else-#define GTE(n,m) (n >=# m)-#define EQ(n,m) (n ==# m)-#endif-{-# LINE 51 "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--{-# INLINE alexIndexInt16OffAddr #-}-alexIndexInt16OffAddr (AlexA# arr) off =-#ifdef WORDS_BIGENDIAN- narrow16Int# i- where- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- low = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 2#-#else- indexInt16OffAddr# arr off-#endif------{-# INLINE alexIndexInt32OffAddr #-}-alexIndexInt32OffAddr (AlexA# arr) off = -#ifdef WORDS_BIGENDIAN- narrow32Int# i- where- i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`- (b2 `uncheckedShiftL#` 16#) `or#`- (b1 `uncheckedShiftL#` 8#) `or#` b0)- b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))- b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))- b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- b0 = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 4#-#else- indexInt32OffAddr# arr off-#endif-------#if __GLASGOW_HASKELL__ < 503-quickIndex arr i = arr ! i-#else--- GHC >= 503, unsafeAt is available from Data.Array.Base.-quickIndex = unsafeAt-#endif------- -------------------------------------------------------------------------------- Main lexing routines--data AlexReturn a- = AlexEOF- | AlexError !AlexInput- | AlexSkip !AlexInput !Int- | AlexToken !AlexInput !Int a---- alexScan :: AlexInput -> StartCode -> AlexReturn a-alexScan input (I# (sc))- = alexScanUser undefined input (I# (sc))--alexScanUser user input (I# (sc))- = case alex_scan_tkn user input 0# input sc AlexNone of- (AlexNone, input') ->- case alexGetByte input of- Nothing -> ---- AlexEOF- Just _ ->---- AlexError input'-- (AlexLastSkip input'' len, _) ->---- AlexSkip input'' len-- (AlexLastAcc k input''' len, _) ->---- AlexToken input''' len k----- Push the input through the DFA, remembering the most recent accepting--- state it encountered.--alex_scan_tkn user orig_input len input s last_acc =- input `seq` -- strict in the input- let - new_acc = (check_accs (alex_accept `quickIndex` (I# (s))))- in- new_acc `seq`- case alexGetByte input of- Nothing -> (new_acc, input)- Just (c, new_input) -> ---- case fromIntegral c of { (I# (ord_c)) ->- let- base = alexIndexInt32OffAddr alex_base s- offset = (base +# ord_c)- check = alexIndexInt16OffAddr alex_check offset- - new_s = if GTE(offset,0#) && EQ(check,ord_c)- then alexIndexInt16OffAddr alex_table offset- else alexIndexInt16OffAddr alex_deflt s- in- case new_s of- -1# -> (new_acc, input)- -- on an error, we want to keep the input *before* the- -- character that failed, not after.- _ -> alex_scan_tkn user orig_input (if c < 0x80 || c >= 0xC0 then (len +# 1#) else len)- -- note that the length is increased ONLY if this is the 1st byte in a char encoding)- new_input new_s new_acc- }- where- 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" #-}--data AlexLastAcc a- = AlexNone- | AlexLastAcc a !AlexInput !Int- | AlexLastSkip !AlexInput !Int--instance Functor AlexLastAcc where- fmap f AlexNone = AlexNone- fmap f (AlexLastAcc x y z) = AlexLastAcc (f x) y z- fmap f (AlexLastSkip x y) = AlexLastSkip x y--data AlexAcc a user- = AlexAccNone- | AlexAcc a- | AlexAccSkip-{-# LINE 242 "templates/GenericTemplate.hs" #-}---- used by wrappers-iUnbox (I# (i)) = i
− dist/build/parinfer/parinfer-tmp/Parse.hs
@@ -1,580 +0,0 @@-{-# OPTIONS_GHC -w #-}-{-# OPTIONS -fglasgow-exts -cpp #-}-module Parse where-import Lex-import Term-import qualified Data.Array as Happy_Data_Array-import qualified GHC.Exts as Happy_GHC_Exts-import Control.Applicative(Applicative(..))---- parser produced by Happy Version 1.19.4--newtype HappyAbsSyn t8 t9 t10 t11 = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn5 :: ([(VarId,Term)]) -> (HappyAbsSyn t8 t9 t10 t11)-happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn5 #-}-happyOut5 :: (HappyAbsSyn t8 t9 t10 t11) -> ([(VarId,Term)])-happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut5 #-}-happyIn6 :: ((VarId,Term)) -> (HappyAbsSyn t8 t9 t10 t11)-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn t8 t9 t10 t11) -> ((VarId,Term))-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (Term) -> (HappyAbsSyn t8 t9 t10 t11)-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn t8 t9 t10 t11) -> (Term)-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: t8 -> (HappyAbsSyn t8 t9 t10 t11)-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn t8 t9 t10 t11) -> t8-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: t9 -> (HappyAbsSyn t8 t9 t10 t11)-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn t8 t9 t10 t11) -> t9-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: t10 -> (HappyAbsSyn t8 t9 t10 t11)-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn t8 t9 t10 t11) -> t10-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: t11 -> (HappyAbsSyn t8 t9 t10 t11)-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn t8 t9 t10 t11) -> t11-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyInTok :: (Token) -> (HappyAbsSyn t8 t9 t10 t11)-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn t8 t9 t10 t11) -> (Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x01\x00\x40\x00\x00\x00\x36\x00\x3e\x00\x3d\x00\x32\x00\x34\x00\x30\x00\x04\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x01\x00\x39\x00\x3a\x00\xfa\xff\x38\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x01\x00\x00\x00\xf5\xff\x30\x00\x30\x00\x04\x00\x04\x00\x01\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x01\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x27\x00\x37\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2c\x00\x2a\x00\x05\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xfb\xff\x18\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x00\x00\xfd\xff\x00\x00\x00\x00\xfd\xff\x00\x00\x00\x00\xf8\xff\xf5\xff\xf2\xff\xf0\xff\x00\x00\xef\xff\xee\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\xf6\xff\xf7\xff\xf3\xff\xf4\xff\x00\x00\xed\xff\x00\x00\xf9\xff\x00\x00\xfb\xff\x00\x00\xfa\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x06\x00\x01\x00\x0e\x00\x03\x00\x04\x00\x0c\x00\x03\x00\x04\x00\x04\x00\x05\x00\x06\x00\x0b\x00\x02\x00\x0d\x00\x0b\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x04\x00\x05\x00\x06\x00\x05\x00\x06\x00\x05\x00\x06\x00\x00\x00\x01\x00\x00\x00\x01\x00\x09\x00\x0a\x00\x07\x00\x08\x00\x04\x00\x06\x00\x05\x00\x04\x00\x0f\x00\x04\x00\x06\x00\x04\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x13\x00\x0c\x00\x25\x00\x0d\x00\x0e\x00\x21\x00\x0d\x00\x0e\x00\x1b\x00\x09\x00\x0a\x00\x0f\x00\x26\x00\x10\x00\x0f\x00\x26\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x22\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x23\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x1a\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x11\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x1c\x00\x09\x00\x0a\x00\x1d\x00\x0a\x00\x1e\x00\x0a\x00\x19\x00\x04\x00\x03\x00\x04\x00\x15\x00\x16\x00\x17\x00\x18\x00\x11\x00\x20\x00\x22\x00\x13\x00\xff\xff\x06\x00\x19\x00\x06\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (2, 18) [- (2 , happyReduce_2),- (3 , happyReduce_3),- (4 , happyReduce_4),- (5 , happyReduce_5),- (6 , happyReduce_6),- (7 , happyReduce_7),- (8 , happyReduce_8),- (9 , happyReduce_9),- (10 , happyReduce_10),- (11 , happyReduce_11),- (12 , happyReduce_12),- (13 , happyReduce_13),- (14 , happyReduce_14),- (15 , happyReduce_15),- (16 , happyReduce_16),- (17 , happyReduce_17),- (18 , happyReduce_18)- ]--happy_n_terms = 16 :: Int-happy_n_nonterms = 7 :: Int--happyReduce_2 = happySpecReduce_0 0# happyReduction_2-happyReduction_2 = happyIn5- ([]- )--happyReduce_3 = happySpecReduce_2 0# happyReduction_3-happyReduction_3 happy_x_2- happy_x_1- = case happyOut6 happy_x_1 of { happy_var_1 -> - case happyOut5 happy_x_2 of { happy_var_2 -> - happyIn5- (happy_var_1 : happy_var_2- )}}--happyReduce_4 = happyReduce 4# 1# happyReduction_4-happyReduction_4 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (TVar happy_var_1) -> - case happyOut7 happy_x_3 of { happy_var_3 -> - happyIn6- ((happy_var_1,happy_var_3)- ) `HappyStk` happyRest}}--happyReduce_5 = happyReduce 6# 2# happyReduction_5-happyReduction_5 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TVar happy_var_2) -> - case happyOut7 happy_x_4 of { happy_var_4 -> - case happyOut7 happy_x_6 of { happy_var_6 -> - happyIn7- (Let happy_var_2 happy_var_4 happy_var_6- ) `HappyStk` happyRest}}}--happyReduce_6 = happyReduce 4# 2# happyReduction_6-happyReduction_6 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_2 of { (TVar happy_var_2) -> - case happyOut7 happy_x_4 of { happy_var_4 -> - happyIn7- (Abs happy_var_2 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_7 = happySpecReduce_1 2# happyReduction_7-happyReduction_7 happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - happyIn7- (happy_var_1- )}--happyReduce_8 = happySpecReduce_3 3# happyReduction_8-happyReduction_8 happy_x_3- happy_x_2- happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - case happyOut9 happy_x_3 of { happy_var_3 -> - happyIn8- (App (App (Var "+") happy_var_1) happy_var_3- )}}--happyReduce_9 = happySpecReduce_3 3# happyReduction_9-happyReduction_9 happy_x_3- happy_x_2- happy_x_1- = case happyOut8 happy_x_1 of { happy_var_1 -> - case happyOut9 happy_x_3 of { happy_var_3 -> - happyIn8- (App (App (Var "-") happy_var_1) happy_var_3- )}}--happyReduce_10 = happySpecReduce_1 3# happyReduction_10-happyReduction_10 happy_x_1- = case happyOut9 happy_x_1 of { happy_var_1 -> - happyIn8- (happy_var_1- )}--happyReduce_11 = happySpecReduce_3 4# happyReduction_11-happyReduction_11 happy_x_3- happy_x_2- happy_x_1- = case happyOut9 happy_x_1 of { happy_var_1 -> - case happyOut10 happy_x_3 of { happy_var_3 -> - happyIn9- (App (App (Var "*") happy_var_1) happy_var_3- )}}--happyReduce_12 = happySpecReduce_3 4# happyReduction_12-happyReduction_12 happy_x_3- happy_x_2- happy_x_1- = case happyOut9 happy_x_1 of { happy_var_1 -> - case happyOut10 happy_x_3 of { happy_var_3 -> - happyIn9- (App (App (Var "/") happy_var_1) happy_var_3- )}}--happyReduce_13 = happySpecReduce_1 4# happyReduction_13-happyReduction_13 happy_x_1- = case happyOut10 happy_x_1 of { happy_var_1 -> - happyIn9- (happy_var_1- )}--happyReduce_14 = happySpecReduce_2 5# happyReduction_14-happyReduction_14 happy_x_2- happy_x_1- = case happyOut10 happy_x_1 of { happy_var_1 -> - case happyOut11 happy_x_2 of { happy_var_2 -> - happyIn10- (App happy_var_1 happy_var_2- )}}--happyReduce_15 = happySpecReduce_1 5# happyReduction_15-happyReduction_15 happy_x_1- = case happyOut11 happy_x_1 of { happy_var_1 -> - happyIn10- (happy_var_1- )}--happyReduce_16 = happySpecReduce_1 6# happyReduction_16-happyReduction_16 happy_x_1- = case happyOutTok happy_x_1 of { (TInt happy_var_1) -> - happyIn11- (Int happy_var_1- )}--happyReduce_17 = happySpecReduce_1 6# happyReduction_17-happyReduction_17 happy_x_1- = case happyOutTok happy_x_1 of { (TVar happy_var_1) -> - happyIn11- (Var happy_var_1- )}--happyReduce_18 = happySpecReduce_3 6# happyReduction_18-happyReduction_18 happy_x_3- happy_x_2- happy_x_1- = case happyOut7 happy_x_2 of { happy_var_2 -> - happyIn11- (happy_var_2- )}--happyNewToken action sts stk [] =- happyDoAction 15# notHappyAtAll action sts stk []--happyNewToken action sts stk (tk:tks) =- let cont i = happyDoAction i tk action sts stk tks in- case tk of {- TLet -> cont 1#;- TIn -> cont 2#;- TInt happy_dollar_dollar -> cont 3#;- TVar happy_dollar_dollar -> cont 4#;- TArrow -> cont 5#;- TSym '=' -> cont 6#;- TSym '+' -> cont 7#;- TSym '-' -> cont 8#;- TSym '*' -> cont 9#;- TSym '/' -> cont 10#;- TSym '(' -> cont 11#;- TSym ')' -> cont 12#;- TSym '\\' -> cont 13#;- TSym ';' -> cont 14#;- _ -> happyError' (tk:tks)- }--happyError_ 15# tk tks = happyError' tks-happyError_ _ tk tks = happyError' (tk:tks)--happyThen :: () => Either String a -> (a -> Either String b) -> Either String b-happyThen = (>>=)-happyReturn :: () => a -> Either String a-happyReturn = (return)-happyThen1 m k tks = (>>=) m (\a -> k a tks)-happyReturn1 :: () => a -> b -> Either String a-happyReturn1 = \a tks -> (return) a-happyError' :: () => [(Token)] -> Either String a-happyError' = happyError--parseExp tks = happySomeParser where- happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut7 x))--parseBinds tks = happySomeParser where- happySomeParser = happyThen (happyParse 1# tks) (\x -> happyReturn (happyOut5 x))--happySeq = happyDontSeq---happyError :: [Token] -> Either String a-happyError [] = Left "Parse error at end of input"-happyError (tk:tks) = Left ("Parse error before " ++ show tk)-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp --{-# LINE 13 "templates/GenericTemplate.hs" #-}-------- 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)-#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)-#else-#define LT(n,m) (n Happy_GHC_Exts.<# m)-#define GTE(n,m) (n Happy_GHC_Exts.>=# m)-#define EQ(n,m) (n Happy_GHC_Exts.==# m)-#endif-{-# LINE 46 "templates/GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList------{-# LINE 67 "templates/GenericTemplate.hs" #-}--{-# LINE 77 "templates/GenericTemplate.hs" #-}--{-# LINE 86 "templates/GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- 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-happyAccept j tk st sts (HappyStk ans _) = - (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st- = {- 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 -}--- 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#))- then EQ(indexShortOffAddr happyCheck off_i, i)- else False- action- | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st---indexShortOffAddr (HappyA# arr) off =- 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#)))- low = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))- off' = off Happy_GHC_Exts.*# 2#------data HappyAddr = HappyA# Happy_GHC_Exts.Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "templates/GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "shifting the error token" $- happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =- happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk- = 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)--happyMonadReduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk in- happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))--happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk-- off = indexShortOffAddr happyGotoOffsets st1- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i---- in- happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))--happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = - {- nothing -}- happyDoAction j tk new_state- where off = indexShortOffAddr happyGotoOffsets st- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- 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" $ - happyError_ i tk--{- We don't need state discarding for our restricted implementation of- "error". In fact, it can cause some bogus parses, so I've disabled it- for now --SDM---- 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))--}---- 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)---- Internal happy errors:--notHappyAtAll :: a-notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Happy_GHC_Exts.Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq--- otherwise it emits--- happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template. GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
fwaccel.hs view
@@ -74,7 +74,7 @@ [11, 17, inf, 14, 21, 0] ] test :: Bool-test = toList (shortestPaths testGraph) == toList expectedResult+test = toList (shortestPaths testGraph) Prelude.== toList expectedResult toAdjMatrix :: [[Weight]] -> Graph toAdjMatrix xs = A.fromList (Z :. k :. k) (concat xs)
kmeans/GenSamples.hs view
@@ -16,6 +16,7 @@ minSD = 1.5 maxSD = 2.0 +main :: IO () main = do n: minp: maxp: rest <- fmap (fmap read) getArgs @@ -24,8 +25,8 @@ _ -> return () nps <- replicateM n (randomRIO (minp, maxp))- xs <- replicateM n (randomRIO (minX, maxY))- ys <- replicateM n (randomRIO (minX, maxY))+ xs <- replicateM n (randomRIO (minX, maxX))+ ys <- replicateM n (randomRIO (minY, maxY)) sds <- replicateM n (randomRIO (minSD, maxSD)) let params = zip5 nps xs ys sds sds@@ -66,7 +67,6 @@ -> Double -> Double -- X and Y of the mean -> Double -> Double -- X and Y standard deviations -> IO [Point]- generate2DSamples n mx my sdx sdy = do gen <- newStdGen let (genx, geny) = split gen
parconc-examples.cabal view
@@ -1,7 +1,7 @@ name: parconc-examples-version: 0.4.5+version: 0.4.7 synopsis: Examples to accompany the book "Parallel and Concurrent Programming in Haskell"--- description: +description: Examples to accompany the book "Parallel and Concurrent Programming in Haskell" license: BSD3 license-file: LICENSE author: Simon Marlow@@ -84,15 +84,16 @@ executable rpar main-is: rpar.hs- build-depends: base >= 4.5 && < 4.9- , time >= 1.4 && < 1.6+ build-depends: base >= 4.5 && < 4.12+ , time >= 1.4 && < 1.10 , parallel ==3.2.*+ ghc-options: -threaded default-language: Haskell2010 executable sudoku1 main-is: sudoku1.hs other-modules: Sudoku- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , parallel ==3.2.* , array >= 0.4 && <0.6 default-language: Haskell2010@@ -100,7 +101,7 @@ executable sudoku2 main-is: sudoku2.hs other-modules: Sudoku- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , parallel ==3.2.* , array >= 0.4 && <0.6 , deepseq >= 1.3 && < 1.5@@ -110,7 +111,7 @@ executable sudoku3 main-is: sudoku3.hs other-modules: Sudoku- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , parallel ==3.2.* , array >= 0.4 && <0.6 ghc-options: -threaded@@ -119,7 +120,7 @@ executable sudoku4 main-is: sudoku4.hs other-modules: Sudoku- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , parallel ==3.2.* , array >= 0.4 && <0.6 ghc-options: -threaded@@ -128,7 +129,7 @@ executable sudoku5 main-is: sudoku5.hs other-modules: Sudoku- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , parallel ==3.2.* , array >= 0.4 && <0.6 ghc-options: -threaded@@ -139,21 +140,21 @@ executable strat main-is: strat.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , parallel ==3.2.* ghc-options: -threaded default-language: Haskell2010 executable strat2 main-is: strat2.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , parallel ==3.2.* ghc-options: -threaded default-language: Haskell2010 executable strat3 main-is: strat3.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , parallel ==3.2.* ghc-options: -threaded default-language: Haskell2010@@ -161,7 +162,7 @@ executable rsa main-is: rsa.hs other-modules: ByteStringCompat- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , bytestring >= 0.9 && < 0.11 , deepseq >= 1.3 && < 1.5 default-language: Haskell2010@@ -169,7 +170,7 @@ executable rsa1 main-is: rsa1.hs other-modules: ByteStringCompat- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , bytestring >= 0.9 && < 0.11 , parallel ==3.2.* , deepseq >= 1.3 && < 1.5@@ -179,7 +180,7 @@ executable rsa2 main-is: rsa2.hs other-modules: ByteStringCompat- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , bytestring >= 0.9 && < 0.11 , parallel ==3.2.* , deepseq >= 1.3 && < 1.5@@ -190,17 +191,17 @@ hs-source-dirs: kmeans main-is: kmeans.hs other-modules: KMeansCore- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , parallel ==3.2.*- , time >= 1.4 && < 1.6+ , time >= 1.4 && < 1.10 , deepseq >= 1.3 && < 1.5 , 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.8+ , binary >=0.6.3 && < 0.11 , array >= 0.4 && <0.6 , bytestring >= 0.9 && < 0.11- , vector >= 0.10 && < 0.12+ , vector >= 0.10 && < 0.13 ghc-options: -threaded default-language: Haskell2010 @@ -208,10 +209,10 @@ hs-source-dirs: kmeans main-is: GenSamples.hs other-modules: KMeansCore- build-depends: base >= 4.5 && < 4.9- , binary >=0.6.3 && < 0.8+ build-depends: base >= 4.5 && < 4.12+ , binary >=0.6.3 && < 0.11 , array >= 0.4 && <0.6- , vector >= 0.10 && < 0.12+ , vector >= 0.10 && < 0.13 , random >= 1.0 && < 1.2 , normaldistribution >= 1.1 && < 1.2 , deepseq >= 1.3 && < 1.5@@ -223,7 +224,7 @@ executable parmonad main-is: parmonad.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , monad-par >= 0.3.4 && < 0.4 ghc-options: -threaded default-language: Haskell2010@@ -231,7 +232,7 @@ executable rsa-pipeline main-is: rsa-pipeline.hs other-modules: ByteStringCompat Stream- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , bytestring >= 0.9 && < 0.11 , monad-par >= 0.3.4 && < 0.4 , deepseq >= 1.3 && < 1.5@@ -242,7 +243,7 @@ main-is: fwsparse.hs other-modules: SparseGraph MapCompat hs-source-dirs: fwsparse- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , random >= 1.0 && < 1.2 , array >= 0.4 && <0.6 , containers >= 0.4 && < 0.6@@ -252,7 +253,7 @@ main-is: fwsparse1.hs other-modules: SparseGraph MapCompat hs-source-dirs: fwsparse- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , random >= 1.0 && < 1.2 , array >= 0.4 && <0.6 , containers >= 0.4 && < 0.6@@ -263,7 +264,7 @@ executable timetable main-is: timetable.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6 , deepseq >= 1.3 && < 1.5 , random >= 1.0 && < 1.2@@ -271,7 +272,7 @@ executable timetable1 main-is: timetable1.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6 , deepseq >= 1.3 && < 1.5 , monad-par >= 0.3.4 && < 0.4@@ -280,7 +281,7 @@ executable timetable2 main-is: timetable2.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6 , deepseq >= 1.3 && < 1.5 , monad-par >= 0.3.4 && < 0.4@@ -289,7 +290,7 @@ executable timetable3 main-is: timetable3.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6 , deepseq >= 1.3 && < 1.5 , monad-par >= 0.3.4 && < 0.4@@ -312,11 +313,13 @@ Infer Substitution StateX- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6 , deepseq >= 1.3 && < 1.5 , monad-par >= 0.3.4 && < 0.4 , array >= 0.4 && <0.6+ build-tools: alex+ , happy default-language: Haskell2010 -- -----------------------------------------------------------------------------@@ -324,7 +327,7 @@ executable fwdense main-is: fwdense.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , repa >= 3.2 && < 3.5 ghc-options: -O2 if flag(llvm)@@ -333,9 +336,9 @@ executable fwdense1 main-is: fwdense1.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , repa >= 3.2 && < 3.5- , transformers >=0.3 && <0.5+ , transformers >=0.3 && <0.6 ghc-options: -O2 -threaded if flag(llvm) ghc-options: -fllvm@@ -343,7 +346,7 @@ executable rotateimage main-is: rotateimage.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , repa >= 3.2 && < 3.5 ghc-options: -O2 -threaded if flag(devil)@@ -360,19 +363,19 @@ executable fwaccel main-is: fwaccel.hs other-modules: AccelerateCompat- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 ghc-options: -O2 if flag(accelerate)- build-depends: accelerate >= 0.12 && < 0.16+ build-depends: accelerate >= 0.12 && < 1.3 else buildable: False default-language: Haskell2010 executable fwaccel-gpu main-is: fwaccel-gpu.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 if flag(accelerate)- build-depends: accelerate >= 0.12 && < 0.16+ build-depends: accelerate >= 0.12 && < 1.3 else buildable: False if flag(cuda)@@ -386,10 +389,10 @@ main-is: mandel.hs other-modules: Config hs-source-dirs: mandel- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , fclabels if flag(accelerate)- build-depends: accelerate >= 0.12 && < 0.16+ build-depends: accelerate >= 0.12 && < 1.3 , accelerate-io else buildable: False@@ -405,17 +408,17 @@ executable fork main-is: fork.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable reminders main-is: reminders.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable reminders2 main-is: reminders2.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 -- -----------------------------------------------------------------------------@@ -423,38 +426,38 @@ executable mvar1 main-is: mvar1.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable mvar2 main-is: mvar2.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable mvar3 main-is: mvar3.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable logger main-is: logger.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable phonebook main-is: phonebook.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6 default-language: Haskell2010 executable chan main-is: chan.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable chan2 main-is: chan2.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 -- -----------------------------------------------------------------------------@@ -463,12 +466,12 @@ executable geturls1 main-is: geturls1.hs other-modules: GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6- , http-conduit >= 2.1 && < 2.3+ , http-conduit >= 2.1 && < 2.4 , bytestring >= 0.9 && < 0.11 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -477,13 +480,13 @@ executable geturls2 main-is: geturls2.hs other-modules: GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -492,13 +495,13 @@ executable geturls3 main-is: geturls3.hs other-modules: TimeIt GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -507,13 +510,13 @@ executable geturls4 main-is: geturls4.hs other-modules: GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -522,13 +525,13 @@ executable geturls5 main-is: geturls5.hs other-modules: GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -537,13 +540,13 @@ executable geturls6 main-is: geturls6.hs other-modules: TimeIt GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -555,13 +558,13 @@ executable geturlscancel main-is: geturlscancel.hs other-modules: TimeIt GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -570,13 +573,13 @@ executable geturlscancel2 main-is: geturlscancel2.hs other-modules: TimeIt GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -584,27 +587,27 @@ executable modifytwo main-is: modifytwo.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable chan3 main-is: chan3.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable timeout main-is: timeout.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable catch-mask main-is: catch-mask.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable catch-mask2 main-is: catch-mask2.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 -- -----------------------------------------------------------------------------@@ -619,7 +622,7 @@ main-is: miscmodules.hs hs-source-dirs: miscmodules . other-modules: TMVar, TList, TQueue, TBQueue, WindowManager- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6 , stm ==2.4.* default-language: Haskell2010@@ -627,13 +630,13 @@ executable geturlsfirst main-is: geturlsfirst.hs other-modules: ConcurrentUtils, GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -641,7 +644,7 @@ executable TChan main-is: TChan.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* default-language: Haskell2010 @@ -651,13 +654,13 @@ executable geturls7 main-is: geturls7.hs other-modules: ConcurrentUtils, GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -666,13 +669,13 @@ executable geturls8 main-is: geturls8.hs other-modules: Async, GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -681,13 +684,13 @@ executable geturls9 main-is: geturls9.hs other-modules: Async, GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -695,8 +698,8 @@ executable timeout2 main-is: timeout.hs- build-depends: base >= 4.5 && < 4.9- , async ==2.0.*+ build-depends: base >= 4.5 && < 4.12+ , async >= 2.0 && < 2.3 default-language: Haskell2010 -- -----------------------------------------------------------------------------@@ -704,49 +707,49 @@ executable findseq main-is: findseq.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , filepath >= 1.3 && < 1.5- , directory >= 1.1 && < 1.3+ , directory >= 1.1 && < 1.4 default-language: Haskell2010 executable findpar main-is: findpar.hs ghc-options: -threaded- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , filepath >= 1.3 && < 1.5- , directory >= 1.1 && < 1.3- , async ==2.0.*+ , directory >= 1.1 && < 1.4+ , async >= 2.0 && < 2.3 default-language: Haskell2010 executable findpar2 main-is: findpar2.hs ghc-options: -threaded- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , filepath >= 1.3 && < 1.5- , directory >= 1.1 && < 1.3- , async ==2.0.*+ , directory >= 1.1 && < 1.4+ , async >= 2.0 && < 2.3 default-language: Haskell2010 executable findpar3 main-is: findpar3.hs other-modules: CasIORef ghc-options: -threaded- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , filepath >= 1.3 && < 1.5- , directory >= 1.1 && < 1.3- , async ==2.0.*+ , directory >= 1.1 && < 1.4+ , async >= 2.0 && < 2.3 , stm ==2.4.* default-language: Haskell2010 executable findpar4 main-is: findpar4.hs ghc-options: -threaded- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , filepath >= 1.3 && < 1.5- , directory >= 1.1 && < 1.3- , async ==2.0.*+ , directory >= 1.1 && < 1.4+ , async >= 2.0 && < 2.3 , stm ==2.4.*- , transformers >=0.3 && <0.5+ , transformers >=0.3 && <0.6 , abstract-par ==0.3.* , monad-par >= 0.3.4 && < 0.4 default-language: Haskell2010@@ -754,10 +757,10 @@ executable findpar5 main-is: findpar5.hs ghc-options: -threaded- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , filepath >= 1.3 && < 1.5- , directory >= 1.1 && < 1.3- , transformers >=0.3 && <0.5+ , directory >= 1.1 && < 1.4+ , transformers >=0.3 && <0.6 , abstract-par ==0.3.* , monad-par >= 0.3.4 && < 0.4 default-language: Haskell2010@@ -768,10 +771,10 @@ executable server main-is: server.hs other-modules: ConcurrentUtils- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -780,11 +783,11 @@ executable server2 main-is: server2.hs other-modules: ConcurrentUtils- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.*- , async ==2.0.*+ , async >= 2.0 && < 2.3 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -793,12 +796,12 @@ executable chat main-is: chat.hs other-modules: ConcurrentUtils- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6- , async ==2.0.*+ , async >= 2.0 && < 2.3 , stm ==2.4.* if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -810,11 +813,11 @@ executable ping main-is: distrib-ping/ping.hs other-modules: DistribUtils- build-depends: base >= 4.5 && < 4.9- , binary >=0.6.3 && < 0.8- , template-haskell >= 2.7 && < 2.11+ build-depends: base >= 4.5 && < 4.12+ , binary >=0.6.3 && < 0.11+ , template-haskell >= 2.7 && < 2.15 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -823,7 +826,7 @@ build-depends: ghc-prim if flag(distributed) build-depends:- distributed-process == 0.5.*+ distributed-process >= 0.5 && < 0.7 , distributed-process-simplelocalnet ==0.2.* , distributed-static >= 0.2 && < 0.4 else@@ -833,11 +836,11 @@ executable ping-multi main-is: distrib-ping/ping-multi.hs other-modules: DistribUtils- build-depends: base >= 4.5 && < 4.9- , binary >=0.6.3 && < 0.8- , template-haskell >= 2.7 && < 2.11+ build-depends: base >= 4.5 && < 4.12+ , binary >=0.6.3 && < 0.11+ , template-haskell >= 2.7 && < 2.15 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -846,7 +849,7 @@ build-depends: ghc-prim if flag(distributed) build-depends:- distributed-process == 0.5.*+ distributed-process >= 0.5 && < 0.7 , distributed-process-simplelocalnet ==0.2.* , distributed-static >= 0.2 && < 0.4 else@@ -856,11 +859,11 @@ executable ping-tc main-is: distrib-ping/ping-tc.hs other-modules: DistribUtils- build-depends: base >= 4.5 && < 4.9- , binary >=0.6.3 && < 0.8- , template-haskell >= 2.7 && < 2.11+ build-depends: base >= 4.5 && < 4.12+ , binary >=0.6.3 && < 0.11+ , template-haskell >= 2.7 && < 2.15 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -869,7 +872,7 @@ build-depends: ghc-prim if flag(distributed) build-depends:- distributed-process == 0.5.*+ distributed-process >= 0.5 && < 0.7 , distributed-process-simplelocalnet ==0.2.* , distributed-static >= 0.2 && < 0.4 else@@ -879,11 +882,11 @@ executable ping-tc-merge main-is: distrib-ping/ping-tc-merge.hs other-modules: DistribUtils- build-depends: base >= 4.5 && < 4.9- , binary >=0.6.3 && < 0.8- , template-haskell >= 2.7 && < 2.11+ build-depends: base >= 4.5 && < 4.12+ , binary >=0.6.3 && < 0.11+ , template-haskell >= 2.7 && < 2.15 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -892,7 +895,7 @@ build-depends: ghc-prim if flag(distributed) build-depends:- distributed-process == 0.5.*+ distributed-process >= 0.5 && < 0.7 , distributed-process-simplelocalnet ==0.2.* , distributed-static >= 0.2 && < 0.4 else@@ -903,11 +906,11 @@ executable ping-tc-notify main-is: distrib-ping/ping-tc-notify.hs other-modules: DistribUtils- build-depends: base >= 4.5 && < 4.9- , binary >=0.6.3 && < 0.8- , template-haskell >= 2.7 && < 2.11+ build-depends: base >= 4.5 && < 4.12+ , binary >=0.6.3 && < 0.11+ , template-haskell >= 2.7 && < 2.15 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -916,7 +919,7 @@ build-depends: ghc-prim if flag(distributed) build-depends:- distributed-process == 0.5.*+ distributed-process >= 0.5 && < 0.7 , distributed-process-simplelocalnet ==0.2.* , distributed-static >= 0.2 && < 0.4 else@@ -925,11 +928,12 @@ executable ping-fail main-is: distrib-ping/ping-fail.hs- build-depends: base >= 4.5 && < 4.9- , binary >=0.6.3 && < 0.8- , template-haskell >= 2.7 && < 2.11+ other-modules: DistribUtils+ build-depends: base >= 4.5 && < 4.12+ , binary >=0.6.3 && < 0.11+ , template-haskell >= 2.7 && < 2.15 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -938,7 +942,7 @@ build-depends: ghc-prim if flag(distributed) build-depends:- distributed-process == 0.5.*+ distributed-process >= 0.5 && < 0.7 , distributed-process-simplelocalnet ==0.2.* , distributed-static >= 0.2 && < 0.4 else@@ -948,15 +952,15 @@ executable distrib-chat main-is: distrib-chat/chat.hs other-modules: ConcurrentUtils DistribUtils- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6 , stm ==2.4.*- , async ==2.0.*- , binary >=0.6.3 && < 0.8- , transformers >=0.3 && <0.5- , template-haskell >= 2.7 && < 2.11+ , async >= 2.0 && < 2.3+ , binary >=0.6.3 && < 0.11+ , transformers >=0.3 && <0.6+ , template-haskell >= 2.7 && < 2.15 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -965,7 +969,7 @@ build-depends: ghc-prim if flag(distributed) build-depends:- distributed-process == 0.5.*+ distributed-process >= 0.5 && < 0.7 , distributed-process-simplelocalnet ==0.2.* , distributed-static >= 0.2 && < 0.4 else@@ -975,15 +979,15 @@ executable distrib-chat-noslave main-is: distrib-chat/chat-noslave.hs other-modules: ConcurrentUtils- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6 , stm ==2.4.*- , async ==2.0.*- , binary >=0.6.3 && < 0.8- , transformers >=0.3 && <0.5- , template-haskell >= 2.7 && < 2.11+ , async >= 2.0 && < 2.3+ , binary >=0.6.3 && < 0.11+ , transformers >=0.3 && <0.6+ , template-haskell >= 2.7 && < 2.15 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -992,7 +996,7 @@ build-depends: ghc-prim if flag(distributed) build-depends:- distributed-process == 0.5.*+ distributed-process >= 0.5 && < 0.7 , distributed-process-simplelocalnet ==0.2.* , distributed-static >= 0.2 && < 0.4 else@@ -1003,15 +1007,15 @@ main-is: db.hs hs-source-dirs: . distrib-db other-modules: DistribUtils Database- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , containers >= 0.4 && < 0.6 , stm ==2.4.*- , async ==2.0.*- , binary >=0.6.3 && < 0.8- , template-haskell >= 2.7 && < 2.11- , transformers >=0.3 && <0.5+ , async >= 2.0 && < 2.3+ , binary >=0.6.3 && < 0.11+ , template-haskell >= 2.7 && < 2.15+ , transformers >=0.3 && <0.6 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -1020,7 +1024,7 @@ build-depends: ghc-prim if flag(distributed) build-depends:- distributed-process == 0.5.*+ distributed-process >= 0.5 && < 0.7 , distributed-process-simplelocalnet ==0.2.* , distributed-static >= 0.2 && < 0.4 else@@ -1032,27 +1036,27 @@ executable mvar4 main-is: mvar4.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable deadlock1 main-is: deadlock1.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable deadlock2 main-is: deadlock2.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable threadperf1 main-is: threadperf1.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 default-language: Haskell2010 executable threadperf2 main-is: threadperf2.hs- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 ghc-options: -rtsopts default-language: Haskell2010 @@ -1063,14 +1067,14 @@ main-is: bingtranslator.hs other-modules: BingTranslate GetURL hs-source-dirs: other .- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 , utf8-string >= 0.3 && < 1.1 , xml ==1.3.* if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -1080,14 +1084,14 @@ main-is: bingtranslatorconc.hs other-modules: BingTranslate GetURL hs-source-dirs: other .- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 , utf8-string >= 0.3 && < 1.1 , xml ==1.3.* if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6@@ -1096,13 +1100,13 @@ executable geturlsstm main-is: geturlsstm.hs other-modules: TimeIt GetURL- build-depends: base >= 4.5 && < 4.9+ build-depends: base >= 4.5 && < 4.12 , stm ==2.4.* , bytestring >= 0.9 && < 0.11- , time >= 1.4 && < 1.6- , http-conduit >= 2.1 && < 2.3+ , time >= 1.4 && < 1.10+ , http-conduit >= 2.1 && < 2.4 if flag(network26)- build-depends: network >= 2.6 && < 2.7+ build-depends: network >= 2.6 && < 2.9 , network-uri >= 2.6 && < 2.7 else build-depends: network >= 2.3 && < 2.6