packages feed

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