From: sof Date: Sat, 23 Jan 1999 18:07:59 +0000 (+0000) Subject: [project @ 1999-01-23 18:07:42 by sof] X-Git-Tag: Approx_2487_patches~1 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=eba99148728b7fecd4395e461d70aa77dcc31d28;p=ghc-hetmet.git [project @ 1999-01-23 18:07:42 by sof] updates and tweaks --- diff --git a/ghc/tests/programs/andre_monad/Main.hs b/ghc/tests/programs/andre_monad/Main.hs index c2226a2..7e3dda6 100644 --- a/ghc/tests/programs/andre_monad/Main.hs +++ b/ghc/tests/programs/andre_monad/Main.hs @@ -56,7 +56,7 @@ u `quo` v = Bin Quo u v term0,term1,term2 :: Term term0 = Con 6 `mul` Con 9 term1 = (Con 4 `mul` Con 13) `add` Con 2 -term2 = (Con 1 `quo` Con 0) `add` Con 2 +term2 = (Con 1 `quo` Con 2) `add` Con 2 term3 = (((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((( Con 7777 `mul` Con 13) `quo` Con 13) diff --git a/ghc/tests/programs/andre_monad/andre_monad.stdout b/ghc/tests/programs/andre_monad/andre_monad.stdout index e69de29..7ea358a 100644 --- a/ghc/tests/programs/andre_monad/andre_monad.stdout +++ b/ghc/tests/programs/andre_monad/andre_monad.stdout @@ -0,0 +1 @@ +"(2,15002)" diff --git a/ghc/tests/programs/barton-mangler-bug/Basic.hs b/ghc/tests/programs/barton-mangler-bug/Basic.hs index e975f74..ad240f8 100644 --- a/ghc/tests/programs/barton-mangler-bug/Basic.hs +++ b/ghc/tests/programs/barton-mangler-bug/Basic.hs @@ -223,8 +223,7 @@ makeWin st wid sig = nullWindow in PieceContRep wins instance Signal BasicSignal where - toSig Overshoot{start_delay,pulse_width, - ringing,oscillation,damp_fac} = + toSig (Overshoot start_delay pulse_width ringing oscillation damp_fac) = let ring = sine ringing oscillation 0.0 cond = asTypeOf (expc damp_fac) ring sig = temp ring cond @@ -237,8 +236,16 @@ instance Signal BasicSignal where Window LocalZero (TimeEvent (fromPhysical pulse_width)) sig |> nullWindow in PieceContRep wins - toSig Pulse_dc{start_delay,rise_time,pulse_width,fall_time, - dc_offset,period,amplitude,over,under} = + toSig Pulse_dc{ start_delay = start_delay + , rise_time = rise_time + , pulse_width = pulse_width + , fall_time = fall_time + , dc_offset = dc_offset + , period = period + , amplitude = amplitude + , over = over + , under = under + } = let pul = trap start_delay rise_time pulse_width fall_time amplitude so = toPhysical ((fromPhysical start_delay) + (fromPhysical rise_time)) su = toPhysical ((fromPhysical so) + (fromPhysical pulse_width) + (fromPhysical fall_time)) diff --git a/ghc/tests/programs/cholewo-eval/Arr.lhs b/ghc/tests/programs/cholewo-eval/Arr.lhs index 51a936b..b1f4d80 100644 --- a/ghc/tests/programs/cholewo-eval/Arr.lhs +++ b/ghc/tests/programs/cholewo-eval/Arr.lhs @@ -46,7 +46,7 @@ fromVector :: Vector a -> Array Int a fromVector (Vector x) = x instance Functor (Vector) where - map fn x = toVector (map fn (fromVector x)) + fmap fn x = toVector (fmap fn (fromVector x)) {-instance Eq a => Eq (Vector a) where -- (Vector x) == (Vector y) = x == y @@ -62,11 +62,11 @@ instance Read a => Read (Vector a) where instance Num b => Num (Vector b) where (+) = zipVector "+" (+) (-) = zipVector "-" (-) - negate = map negate - abs = map abs - signum = map signum + negate = fmap negate + abs = fmap abs + signum = fmap signum -- (*) = matMult -- works only for matrices! --- fromInteger = map fromInteger +-- fromInteger = fmap fromInteger \end{code} @@ -88,7 +88,7 @@ zipVector s f (Vector a) (Vector b) | otherwise = error ("zipVector: " ++ s ++ ": unconformable arrays") scaleVector :: Num a => a -> Vector a -> Vector a -scaleVector a = map (* a) +scaleVector a = fmap (* a) sumVector :: Num a => Vector a -> a sumVector = sum . elems . fromVector @@ -113,7 +113,7 @@ fromMatrix :: Matrix a -> Array (Int, Int) a fromMatrix (Matrix x) = x instance Functor (Matrix) where - map fn x = toMatrix (map fn (fromMatrix x)) + fmap fn x = toMatrix (fmap fn (fromMatrix x)) --instance Eq a => Eq (Matrix a) where -- (Matrix x) == (Matrix y) = x == y @@ -133,11 +133,11 @@ instance Read a => Read (Matrix a) where instance Num b => Num (Matrix b) where (+) = zipMatrix "+" (+) (-) = zipMatrix "-" (-) - negate = map negate - abs = map abs - signum = map signum + negate = fmap negate + abs = fmap abs + signum = fmap signum x * y = toMatrix (matMult (fromMatrix x) (fromMatrix y)) -- works only for matrices! --- fromInteger = map fromInteger +-- fromInteger = fmap fromInteger \end{code} Convert a nested list to a matrix. @@ -159,7 +159,7 @@ zipMatrix s f (Matrix a) (Matrix b) | otherwise = error ("zipMatrix: " ++ s ++ ": unconformable arrays") scaleMatrix :: Num a => a -> Matrix a -> Matrix a -scaleMatrix a = map (* a) +scaleMatrix a = fmap (* a) sumMatrix :: Num a => Matrix a -> a sumMatrix = sum . elems . fromMatrix @@ -204,9 +204,9 @@ Overload arithmetical operators to work on lists. instance Num a => Num [a] where (+) = safezipWith "+" (+) (-) = safezipWith "-" (-) - negate = map negate - abs = map abs - signum = map signum + negate = fmap negate + abs = fmap abs + signum = fmap signum -- (*) = undefined -- fromInteger = undefined \end{code} @@ -219,8 +219,8 @@ sum1 = foldl1 (+) \end{code} \begin{code} -map2 f = map (map f) -map3 f = map (map2 f) +map2 f = fmap (fmap f) +map3 f = fmap (map2 f) \end{code} Map function f at position n only. Out of range indices are silently @@ -260,16 +260,16 @@ Overload arithmetical operators to work on arrays. instance (Ix a, Show a, Num b) => Num (Array a b) where (+) = zipArr "+" (+) (-) = zipArr "-" (-) - negate = map negate - abs = map abs - signum = map signum + negate = fmap negate + abs = fmap abs + signum = fmap signum -- (*) = matMult -- works only for matrices! -- fromInteger = map fromInteger \end{code} \begin{xcode} scaleArr :: (Ix i, Num a) => a -> Array i a -> Array i a -scaleArr a = map (*a) +scaleArr a = fmap (*a) sumArr :: (Ix i, Num a) => Array i a -> a sumArr = sum . elems @@ -362,23 +362,23 @@ padleft n x | n <= length x = x \begin{code} padMatrix :: RealFloat a => Int -> Matrix a -> Matrix String -padMatrix n x = let ss = map (\a -> showFFloat (Just n) a "") x - maxw = maximum (map length (elems (fromMatrix ss))) - in map (padleft maxw) ss +padMatrix n x = let ss = fmap (\a -> showFFloat (Just n) a "") x + maxw = maximum (fmap length (elems (fromMatrix ss))) + in fmap (padleft maxw) ss \end{code} \begin{xcode} showsVector :: (RealFloat a) => Int -> Vector a -> ShowS showsVector n x z1 = let x' = padArr n x (l,u) = bounds x' in - concat (map (\ (i, s) -> if i == u then s ++ "\n" else s ++ " ") (assocs x')) ++ z1 + concat (fmap (\ (i, s) -> if i == u then s ++ "\n" else s ++ " ") (assocs x')) ++ z1 \end{xcode} \begin{xcode} showsMatrix :: RealFloat a => Int -> Matrix a -> ShowS showsMatrix n x z1 = let x' = padMatrix n x ((l,l'),(u,u')) = bounds x' in - concat (map (\ ((i,j), s) -> if j == u' then s ++ "\n" else s ++ " ") (assocs x')) ++ z1 + concat (fmap (\ ((i,j), s) -> if j == u' then s ++ "\n" else s ++ " ") (assocs x')) ++ z1 \end{xcode} {- diff --git a/ghc/tests/programs/cholewo-eval/Main.lhs b/ghc/tests/programs/cholewo-eval/Main.lhs index 0c50141..a730211 100644 --- a/ghc/tests/programs/cholewo-eval/Main.lhs +++ b/ghc/tests/programs/cholewo-eval/Main.lhs @@ -9,7 +9,7 @@ type DF a = Vector a -> Vector a \end{code} \begin{code} -data (Eval a) => ScgData a = ScgData {k :: !Int, err :: !a, +data {-(Eval a) =>-} ScgData a = ScgData {k :: !Int, err :: !a, w, p, r :: !(Vector a), delta, pnorm2, lambda, lambdabar :: !a, success :: !Bool} diff --git a/ghc/tests/programs/cholewo-eval/cholewo-eval.stdout b/ghc/tests/programs/cholewo-eval/cholewo-eval.stdout index d44ace1..22d4567 100644 --- a/ghc/tests/programs/cholewo-eval/cholewo-eval.stdout +++ b/ghc/tests/programs/cholewo-eval/cholewo-eval.stdout @@ -1 +1 @@ -[-0.5105811455265337, -0.7565080326002654] +[-0.5105811455265337,-0.7565080326002654] diff --git a/ghc/tests/programs/dmgob_native1/Main.lhs b/ghc/tests/programs/dmgob_native1/Main.lhs index 4b01cee..70c36b1 100644 --- a/ghc/tests/programs/dmgob_native1/Main.lhs +++ b/ghc/tests/programs/dmgob_native1/Main.lhs @@ -33,7 +33,7 @@ blank line, etc. > let > vs = readVectors bs > in -> putStr (display vs) +> putStrLn (display vs) > > _ -> error " need a binary file name" diff --git a/ghc/tests/programs/dmgob_native1/Makefile b/ghc/tests/programs/dmgob_native1/Makefile index 4e94ecb..1df0177 100644 --- a/ghc/tests/programs/dmgob_native1/Makefile +++ b/ghc/tests/programs/dmgob_native1/Makefile @@ -2,7 +2,10 @@ TOP = .. include $(TOP)/mk/boilerplate.mk SRC_RUNTEST_OPTS += test_data -SRC_HC_OPTS += -cpp -syslib hbc +SRC_HC_OPTS += -cpp -syslib misc +EXTRA_LD_OPTS += -syslib misc + +OBJS = $(HS_OBJS) all :: runtest diff --git a/ghc/tests/programs/dmgob_native1/dmgob_native1.stdout b/ghc/tests/programs/dmgob_native1/dmgob_native1.stdout index 5b4a0bc..aa9b4b4 100644 --- a/ghc/tests/programs/dmgob_native1/dmgob_native1.stdout +++ b/ghc/tests/programs/dmgob_native1/dmgob_native1.stdout @@ -1,10 +1,11 @@ 3 -[1.00000000, 2.00000000, 3.00000000] +[1.0,2.0,3.0] 2 -[1.00000000, 2.00000000] +[1.0,2.0] 4 -[1.00000000, 2.00000000, 3.00000000, 4.00000000] +[1.0,2.0,3.0,4.0] + diff --git a/ghc/tests/programs/dmgob_native1/test_data b/ghc/tests/programs/dmgob_native1/test_data index b7ec9fd..7d217a5 100644 Binary files a/ghc/tests/programs/dmgob_native1/test_data and b/ghc/tests/programs/dmgob_native1/test_data differ diff --git a/ghc/tests/programs/dmgob_native2/Makefile b/ghc/tests/programs/dmgob_native2/Makefile index 5e846e0..d6a976d 100644 --- a/ghc/tests/programs/dmgob_native2/Makefile +++ b/ghc/tests/programs/dmgob_native2/Makefile @@ -1,7 +1,7 @@ TOP = .. include $(TOP)/mk/boilerplate.mk -SRC_HC_OPTS += -cpp -syslib hbc +SRC_HC_OPTS += -cpp -syslib misc all :: runtest diff --git a/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout b/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout index cd64812..4bfb34b 100644 Binary files a/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout and b/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout differ diff --git a/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout2 b/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout2 index 97729b0..96dde07 100644 Binary files a/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout2 and b/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout2 differ diff --git a/ghc/tests/programs/fast2haskell/Fast2haskell.hs b/ghc/tests/programs/fast2haskell/Fast2haskell.hs index dc591ba..de3aa0f 100644 --- a/ghc/tests/programs/fast2haskell/Fast2haskell.hs +++ b/ghc/tests/programs/fast2haskell/Fast2haskell.hs @@ -6,7 +6,7 @@ land_i, lnot_i, lor_i, lshift_i, rshift_i, descr, destr_update, indassoc, lowbound, tabulate, upbound, update, valassoc) where { - import Word; + import Word2; import Complex; -- 1.3 import Array; -- 1.3 type Complex_type = Complex Double; diff --git a/ghc/tests/programs/fast2haskell/Word.hs b/ghc/tests/programs/fast2haskell/Word.hs index 351193e..4c7091c 100644 --- a/ghc/tests/programs/fast2haskell/Word.hs +++ b/ghc/tests/programs/fast2haskell/Word.hs @@ -7,7 +7,7 @@ module Word2 ( byteToInt, shortToInt, wordToInt ) where -import GHC +import PrelGHC import PrelBase infixl 8 `bitLsh`, `bitRsh` @@ -32,10 +32,10 @@ instance Bits Word where bitXor (Word x) (Word y) = error "later..." -- Word (XOR x y) bitCompl (Word x) = case not# x of x' -> Word x' bitLsh (Word x) (I# y) = case shiftL# x y of z -> Word z - bitRsh (Word x) (I# y) = case shiftRA# x y of z -> Word z + bitRsh (Word x) (I# y) = case shiftRL# x y of z -> Word z bitSwap (Word x) = --Word (OR (LSH x 16) (AND (RSH x 16) 65535)) case shiftL# x 16# of { a# -> - case shiftRA# x 16# of { b# -> + case shiftRL# x 16# of { b# -> case and# b# (i2w 65535#) of { c# -> case or# a# c# of { r# -> Word r# }}}} @@ -46,9 +46,9 @@ w2i x = word2Int# x i2w x = int2Word# x instance Num Word where - Word x + Word y = case plusInt# (w2i x) (w2i y) of z -> Word (i2w z) - Word x - Word y = case minusInt# (w2i x) (w2i y) of z -> Word (i2w z) - Word x * Word y = case timesInt# (w2i x) (w2i y) of z -> Word (i2w z) + Word x + Word y = case (w2i x) +# (w2i y) of z -> Word (i2w z) + Word x - Word y = case (w2i x) -# (w2i y) of z -> Word (i2w z) + Word x * Word y = case (w2i x) *# (w2i y) of z -> Word (i2w z) negate (Word x) = case negateInt# (w2i x) of z -> Word (i2w z) fromInteger (J# a# s# d#) = case integer2Int# a# s# d# of { z# -> @@ -56,7 +56,7 @@ instance Num Word where instance Show Word where showsPrec _ (Word w) = - let i = toInteger (I# (w2i w)) + (if geWord# w (i2w 0#) then 0 else 2*(toInteger maxBound + 1)) + let i = toInteger (I# (w2i w)) + (if geWord# w (i2w 0#) then 0 else 2*(toInteger (maxBound::Int) + 1)) in showString (conv 8 i) conv :: Int -> Integer -> String diff --git a/ghc/tests/programs/fun_insts/Main.hs b/ghc/tests/programs/fun_insts/Main.hs index b7f9053..286154c 100644 --- a/ghc/tests/programs/fun_insts/Main.hs +++ b/ghc/tests/programs/fun_insts/Main.hs @@ -1,4 +1,4 @@ ---!!! Defines functions as an instance of Num +-- !!! Defines functions as an instance of Num module Main where @@ -20,4 +20,4 @@ cc = cos * cos tt = ss + cc -- sin**2 + cos**2 = 1 -main = putStr ((show (tt 0.4))++ " "++(show (tt 1.652))) +main = putStrLn ((show (tt 0.4))++ " "++(show (tt 1.652))) diff --git a/ghc/tests/programs/jules_xref/Main.hs b/ghc/tests/programs/jules_xref/Main.hs index 453d7b5..b9126f4 100644 --- a/ghc/tests/programs/jules_xref/Main.hs +++ b/ghc/tests/programs/jules_xref/Main.hs @@ -1,4 +1,4 @@ ---!!! a performance-problem test from Jules. +-- !!! a performance-problem test from Jules. -- further comment at the end -- module Main where @@ -40,7 +40,7 @@ avAdd (ABranch l yk yv r hy) xk xv ---==========================================================-- +-- ==========================================================-- -- {- avLookup :: Ord a => ATree a b -> @@ -56,7 +56,7 @@ avLookup (ABranch l k v r _) kk ---==========================================================-- +-- ==========================================================-- -- avCombine :: ATree a b -> Int -> @@ -86,9 +86,9 @@ avCombine t1 h1 t2 h2 t3 h3 ak av ck cv max1 n m = 1 + (if n > m then n else m) ---==========================================================-- ---=== end AVLTree.hs ===-- ---==========================================================-- +-- ==========================================================-- +-- === end AVLTree.hs ===-- +-- ==========================================================-- @@ -99,7 +99,7 @@ xref stab lineno [] = stab xref stab lineno ('\n':cs) = xref stab (lineno+1) cs xref stab lineno (c:cs) = if isAlpha c then - let (word, rest) = span isAlphanum cs + let (word, rest) = span isAlphaNum cs in xref (avAdd stab (c:word) lineno) lineno rest else xref stab lineno cs diff --git a/ghc/tests/programs/jules_xref/jules_xref.stdout b/ghc/tests/programs/jules_xref/jules_xref.stdout index b92c5a0..8a8af9e 100644 --- a/ghc/tests/programs/jules_xref/jules_xref.stdout +++ b/ghc/tests/programs/jules_xref/jules_xref.stdout @@ -1,500 +1,500 @@ -("A", [3]) -("AAp", [26, 27, 63, 937]) -("ACase", [30, 31, 67, 719]) -("AConstr", [25, 25, 62]) -("ALam", [32, 32, 64, 967]) -("ALet", [28, 29, 65, 1015]) -("AList", [415, 553, 649, 675, 700, 762, 770, 773, 782, 799, 802, 899]) -("ANum", [24, 24, 61, 515]) -("AVar", [23, 23, 60, 879]) -("Also", [596, 682]) -("AnnExpr", [17, 18, 44, 45, 52, 120, 842]) -("Association", [411]) -("AtomicProgram", [119]) -("BaseDefs", [8]) -("Big", [718, 733, 735]) -("CASE", [601, 622, 822]) -("CExpr", [511, 586, 589, 646, 648, 673, 698, 841, 914, 915, 952, 987, 988, 1052, 1053]) -("Cannot", [306]) -("Char", [78, 109, 120]) -("Circular", [268]) -("ConstrAlt", [771, 800]) -("Corrected", [4]) -("EAp", [523]) -("ECase", [540]) -("EConstr", [520]) -("ELam", [526, 528, 530, 531]) -("ELet", [533]) -("ENum", [514]) -("EVar", [517]) -("End", [1104]) -("Eq", [390]) -("Error", [601, 621]) -("Fail", [125, 131, 324, 324, 364, 629, 631, 633, 635, 854, 854, 861, 861, 926, 927, 934, 935, 964, 964, 1000, 1000, 1012, 1012, 1073, 1073, 1090, 1090]) -("False", [81, 89, 90, 92, 131, 150, 1003]) -("File", [3]) -("Formatting", [13]) -("Int", [474, 475, 483, 484, 495, 498]) -("Just", [789]) -("Keeping", [378]) -("Merging", [329]) -("Message", [120, 258, 280, 318, 361, 512, 590, 651, 677, 678, 702, 706, 747, 842, 877, 916, 953, 989, 1054]) -("MyUtils", [10]) -("Naam", [44, 45, 52, 108, 120, 415, 415, 553, 587, 588, 615, 615, 647, 649, 674, 675, 699, 700, 762, 770, 772, 773, 782, 799, 801, 802, 815, 842, 876, 951, 986, 1022, 1051]) -("New", [438]) -("No", [125]) -("Nothing", [790]) -("Ok", [124, 130, 133, 262, 264, 321, 323, 363, 515, 628, 630, 632, 634, 717, 718, 749, 845, 855, 862, 863, 879, 928, 936, 937, 966, 967, 1002, 1014, 1015, 1075, 1092]) -("Projection", [627]) -("RHS", [654, 655, 656]) -("RHSs", [716]) -("Reply", [120, 258, 280, 318, 361, 512, 590, 651, 677, 678, 702, 706, 747, 842, 877, 916, 953, 989, 1054]) -("Representation", [155]) -("Scheme", [141, 385, 403, 404, 569, 776, 891, 974, 1034, 1085]) -("Subst", [43, 197, 210, 222, 223, 224, 231, 240, 255, 258, 278, 280, 316, 318, 333, 334, 346, 347, 347, 361, 361, 370, 399, 430, 703, 705, 745, 747, 842, 900]) -("Substitutions", [193]) -("T1", [681]) -("TArr", [87, 90, 103, 163, 189, 218, 218, 293, 296, 296, 566, 929, 969]) -("TCons", [84, 85, 86, 93, 102, 170, 177, 188, 216, 216, 290, 299, 299, 515, 515, 568, 739, 790, 794]) -("TDefCons", [793]) -("TDefExpr", [783]) -("TDefVar", [786]) -("TExpr", [44, 45, 52, 77, 108, 120, 159, 160, 161, 168, 175, 182, 199, 211, 212, 239, 257, 279, 279, 317, 317, 370, 370, 704, 746, 784, 842, 842, 889, 1023]) -("TVName", [183, 198, 238, 256, 383, 423, 443, 468, 649, 675, 700, 762, 770, 782, 799, 899, 899]) -("TVar", [83, 101, 187, 202, 203, 206, 214, 241, 241, 242, 244, 245, 261, 269, 282, 283, 290, 293, 568, 739, 789, 902, 929, 974]) -("TcTypeEnv", [117, 422, 431, 432, 509, 584, 644, 671, 696, 839, 874, 912, 949, 984, 1020, 1024, 1049]) -("The", [503]) -("Tk", [681]) -("True", [87, 88, 91, 95, 130, 150, 1093]) -("Type", [97, 267, 305, 548, 833, 868, 906, 943, 978, 1043]) -("TypeCheck5", [3, 7, 1104]) -("TypeDef", [508, 552, 583, 643, 650, 670, 676, 695, 701, 760, 814, 816, 838, 873, 911, 948, 983, 1048]) -("TypeEnv", [53, 120]) -("TypeInfo", [512, 590, 651, 677, 678, 702, 706, 877, 916, 953, 989, 1054]) -("TypeNameSupply", [118, 442, 450, 451, 458, 459, 459, 467, 510, 551, 553, 585, 645, 672, 697, 761, 840, 875, 887, 913, 950, 985, 1021, 1050]) -("TypeScheme", [382, 400, 401, 553, 773, 802, 888]) -("Undeclared", [820]) -("Unification", [251]) -("Utils", [9]) -("a", [4, 16, 17, 390, 390, 391, 392, 574, 630, 630, 632, 634, 636, 636, 637]) -("aFN", [66, 70]) -("abstractions", [943]) -("accordance", [806]) -("actual", [562]) -("ae1", [26, 27, 63, 63, 928, 929, 934, 936, 937]) -("ae2", [26, 27, 63, 63, 928, 929, 934, 936, 937]) -("al", [417, 418, 793, 794, 893, 894, 902, 902, 1034, 1036, 1038]) -("all", [241, 654, 655, 681]) -("allowable", [713]) -("als", [593, 607]) -("alternatives", [601]) -("alters", [543, 544]) -("alts", [67, 68, 540, 543]) -("an", [574, 594, 715]) -("and", [597, 627, 656, 681, 716]) -("ann", [20, 21]) -("annAlts", [30, 31]) -("annDefs", [28, 29]) -("annoTree", [133, 135]) -("annotatedE", [855, 856, 861, 862, 864, 966, 967, 1014, 1015]) -("annotatedEs", [862, 864]) -("annotatedRHSs", [720, 737]) -("applications", [906]) -("apply", [574, 712]) -("applyNtimes", [572, 575, 577]) -("arg", [574, 575, 576, 577]) -("arglists", [541, 544]) -("argument", [588, 596]) -("as", [597, 655]) -("associates", [558]) -("association", [594]) -("b", [16, 18, 83, 84, 85, 86, 93, 415, 415, 615, 615, 630, 632, 632, 634, 636, 637]) -("baseTypes", [122, 128]) -("be", [805]) -("big", [717]) -("bindings", [584, 716, 717]) -("binds", [347]) -("body", [70, 71]) -("bool", [85, 85, 150, 177]) -("builtInTypes", [127, 146, 149]) -("bvar", [958, 974, 1067, 1078, 1085, 1095]) -("bvars", [1062, 1067]) -("c", [17, 18, 25, 25, 62, 102, 520, 521, 630, 632, 634, 634, 636, 637, 637, 764, 793, 794]) -("cAltsCurried", [556, 566]) -("cAltsXLated", [566, 567]) -("cal", [555, 560, 567, 775, 776]) -("calculate", [654]) -("call", [655, 714]) -("calt", [807, 808]) -("calts", [806, 807, 809]) -("case", [548]) -("char", [86, 86]) -("check", [715]) -("checker", [3, 503]) -("checking", [548, 833, 868, 906, 943, 978, 1043]) -("chr", [83]) -("cl", [93, 95, 826, 827, 829]) -("cname", [775]) -("compute", [682]) -("concat", [66, 68, 95, 102, 143, 147, 350, 425, 727]) -("constrTypes", [145, 147]) -("constructor", [565, 583, 621]) -("constructors", [541, 543, 587, 598, 815, 820, 822]) -("contains", [822]) -("cparams", [775, 776, 807, 808]) -("cparamss", [805, 807, 809]) -("cs", [64, 593, 599, 604, 607, 818, 828]) -("current", [584]) -("decls", [1005, 1020, 1026, 1098]) -("deduced", [715]) -("definition", [594, 598, 682]) -("definitions", [583, 814]) -("dl", [65, 66, 533, 538]) -("downhill", [241]) -("e", [32, 32, 64, 64, 406, 406, 526, 527, 528, 529, 530, 531, 533, 535, 536, 846, 847, 955, 955, 991, 992, 1000, 1002, 1003, 1056, 1057, 1073, 1075, 1076, 1090, 1092, 1093]) -("e1", [523, 524, 749, 750, 751, 752, 755, 918, 918]) -("e2", [523, 524, 750, 751, 752, 753, 755, 918, 918]) -("e3", [752, 753]) -("each", [558, 655, 656, 710]) -("elem", [394, 406, 829]) -("else", [125, 204, 285, 339, 536, 602, 821, 823]) -("enScheme", [556, 569]) -("eqn", [323, 323, 324]) -("eqns", [320, 321]) -("error", [267, 305]) -("es", [535, 536, 538, 752, 753, 846, 847, 854, 855, 856, 991, 995, 1056, 1058]) -("expr", [34, 35, 122, 128]) -("expression", [586, 714, 716, 822]) -("expressions", [155, 548, 589, 597, 833, 978, 1043]) -("exprs", [541, 544]) -("f", [20, 21, 27, 27, 29, 31, 32, 35, 38, 133, 133, 139, 141, 445, 453, 453, 461, 462, 787, 789, 790]) -("f2", [461, 461, 462]) -("fail", [266, 304, 600, 620, 820, 822]) -("failed", [97]) -("final", [718, 719, 735]) -("finalConstrTypes", [128, 139, 147]) -("finalNameSupply", [556, 572]) -("finalNs", [128, 145]) -("finalType", [879, 879, 882, 937, 937, 939, 967, 967, 969]) -("first", [608, 740, 829, 1098, 1100]) -("foldr", [188, 321, 566]) -("for", [4, 654, 655, 656, 681, 681, 710]) -("from", [716]) -("ftvs", [826, 827]) -("fullEnv", [124, 139, 143]) -("fullEnvWords", [124, 143]) -("func", [575, 577, 577]) -("function", [574]) -("functions", [565, 627]) -("g", [662, 663]) -("gamma", [425, 425, 434, 434, 514, 517, 518, 520, 521, 523, 524, 526, 527, 528, 529, 530, 531, 533, 535, 536, 540, 541, 593, 602, 653, 657, 663, 680, 684, 696, 708, 722, 844, 846, 847, 847, 854, 855, 856, 879, 881, 918, 918, 955, 955, 958, 958, 991, 992, 995, 1000, 1002, 1003, 1005, 1005, 1006, 1006, 1026, 1026, 1029, 1056, 1057, 1058, 1073, 1075, 1076, 1080, 1080, 1090, 1092, 1093, 1097, 1097, 1098, 1098]) -("gammas", [654]) -("gather", [655, 716]) -("gathered", [717]) -("general", [713]) -("get", [594, 681, 712, 714]) -("going", [270]) -("good", [123, 130, 131]) -("gs", [662, 663]) -("head", [374, 735, 823]) -("hence", [681]) -("here", [815]) -("if", [123, 202, 283, 337, 534, 599, 819, 821]) -("import", [8, 9, 10]) -("in", [182, 185, 185, 187, 188, 188, 189, 189, 189, 263, 267, 305, 385, 559, 569, 594, 598, 601, 601, 621, 622, 682, 805, 820, 1037]) -("input", [713, 715]) -("instance", [715]) -("int", [84, 84, 170, 515, 515]) -("into", [711]) -("is", [715]) -("k", [417, 418, 418, 618, 619, 621]) -("ks", [618, 623]) -("l", [187, 187, 188, 188, 189, 189]) -("lambda", [943]) -("lead", [241]) -("length", [572, 599, 599, 819, 821]) -("let", [978]) -("letrec", [1043]) -("lhs", [729, 731, 731, 733]) -("list", [815]) -("lists", [411, 588, 596, 805, 833]) -("ljustify", [112]) -("lookUpResult", [202, 204, 206]) -("lookup", [83, 96, 97, 98, 99]) -("m", [3, 324, 324, 364, 365, 629, 629, 631, 631, 633, 633, 635, 635, 854, 854, 861, 861, 926, 927, 934, 935, 964, 964, 1000, 1000, 1012, 1012, 1073, 1073, 1090, 1090, 1104]) -("mainExpr", [28, 29]) -("make", [710]) -("map", [29, 31, 66, 68, 95, 102, 139, 143, 216, 354, 355, 356, 425, 563, 567, 568, 608, 687, 688, 735, 737, 738, 739, 740, 776, 794, 829, 1028, 1034, 1067, 1078, 1095, 1098, 1100]) -("map2nd", [556, 566, 567, 902]) -("mapAccuml", [146]) -("mapAnnAlt", [31, 37]) -("mapAnnDefn", [29, 34]) -("mapAnnExpr", [21, 23, 24, 25, 26, 28, 30, 32]) -("me", [65, 66]) -("merge", [607, 609, 711]) -("missing", [601]) -("mixed", [822]) -("module", [7]) -("most", [713]) -("must", [805]) -("n", [24, 24, 61, 112, 267, 267, 268, 270, 270, 273, 305, 305, 306, 308, 308, 310, 406, 406, 406, 478, 478, 478, 487, 488, 489, 489, 489, 490, 491, 491, 514, 515, 574, 575, 576, 577, 685, 685, 687, 688, 689, 703, 704, 709, 709, 727, 786, 790, 791]) -("naam", [34, 35, 37, 38, 70, 71, 111, 112, 141, 141]) -("name", [97, 442, 445, 470, 571, 585, 920, 959]) -("nameMap", [786, 791, 793, 794]) -("nbvs", [1057, 1058, 1062, 1073, 1075, 1076, 1078, 1079, 1079, 1090, 1092, 1095, 1096, 1096, 1098, 1100]) -("new", [347, 558, 716]) -("newBinds", [337, 339, 341]) -("newSub", [753, 755]) -("newTVs", [560, 563, 567, 602, 605, 653, 657, 659, 680, 684, 700, 708, 738]) -("newUnifiers", [355, 356]) -("newUnifiersChecked", [350, 351, 356]) -("no", [418]) -("node", [20, 21, 58, 58]) -("nodeType", [58]) -("non", [247, 247]) -("not", [394, 406, 534]) -("notArrow", [93, 94]) -("notElem", [263]) -("note", [805]) -("ns", [122, 146, 445, 445, 470, 470, 470, 478, 478, 479, 487, 488, 491, 491, 492, 514, 517, 518, 520, 521, 523, 524, 526, 527, 528, 529, 530, 531, 533, 535, 536, 540, 541, 555, 560, 572, 593, 606, 653, 665, 680, 684, 697, 708, 722, 764, 764, 844, 846, 849, 854, 855, 856, 879, 882, 891, 893, 918, 918, 920, 921, 921, 955, 955, 957, 957, 959, 991, 994, 1000, 1002, 1007, 1026, 1028, 1034, 1036, 1056, 1060, 1060, 1061, 1067, 1067, 1073, 1075, 1076, 1090, 1092, 1099]) -("ns0", [847, 849, 992, 994, 1005, 1007, 1057, 1060, 1098, 1099]) -("ns1", [602, 606, 660, 665, 847, 849, 994, 995, 1003, 1007, 1058, 1061, 1093, 1099]) -("ns2", [605, 606, 657, 665, 1061, 1062]) -("nsl", [661, 662, 664]) -("nsl1", [663, 664]) -("nsl2", [663, 664]) -("nub", [100, 353, 569, 599, 825, 1037]) -("of", [13, 155, 329, 347, 378, 565, 594, 598, 683, 710, 714, 715, 815, 833]) -("og", [373, 374]) -("ogs", [373, 374]) -("oldGroups", [351, 354, 355]) -("oldVars", [351, 353, 354]) -("olds", [347]) -("on", [656]) -("one", [711]) -("ordered", [805]) -("otherwise", [99, 265, 479, 490, 492, 577]) -("p", [290, 291, 293, 294]) -("pair", [347]) -("panic", [97, 365, 418, 629, 631, 633, 635]) -("param", [805]) -("pars", [37, 38]) -("pass", [595, 656]) -("phi", [47, 47, 201, 204, 206, 214, 214, 216, 216, 218, 218, 218, 260, 262, 264, 282, 284, 285, 287, 288, 290, 291, 293, 294, 296, 297, 299, 301, 303, 320, 321, 323, 323, 336, 341, 349, 353, 354, 403, 404, 406, 406, 434, 434, 685, 685, 687, 689, 703, 705, 709, 709, 718, 722, 723, 723, 724, 725, 727, 727, 727, 727, 729, 731, 733, 733, 733, 735, 855, 856, 856, 861, 862, 863, 891, 894, 928, 929, 936, 937, 939, 966, 967, 969, 1002, 1003, 1006, 1012, 1014, 1014, 1015, 1015, 1075, 1076, 1079, 1080, 1092, 1093, 1096, 1097]) -("phit", [284, 285, 288]) -("phitvn", [283, 285, 287]) -("poly", [558]) -("pretty", [81, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95]) -("program", [267, 305, 601, 621]) -("psi", [862, 863, 863]) -("q", [290, 291, 293, 294]) -("r", [363, 363, 662, 663]) -("reOals", [602, 609, 653, 657, 659, 680, 684, 699, 708, 720]) -("reOres", [602, 609, 653, 660]) -("recFlag", [28, 29, 1012, 1014, 1015]) -("recursive", [533, 534]) -("reflect", [597]) -("reorder", [596]) -("res", [593, 607]) -("resExpr", [37, 38]) -("result", [683, 717, 787, 791]) -("resulting", [589, 597]) -("results", [13]) -("return", [717]) -("reverse", [731]) -("revised", [571]) -("rf", [65]) -("rhs", [685, 689, 705, 709, 727]) -("rhsAnnExprs", [1002, 1003, 1012, 1014, 1015, 1075, 1076, 1090, 1092, 1093]) -("rhsGammas", [659, 660]) -("rhsTc1", [660, 661, 662, 663]) -("rhsTcs", [657, 660, 680, 684, 687, 688, 702, 708, 735, 737]) -("rhsTypes", [992, 995]) -("rootEnv", [137, 139]) -("rootSubst", [133, 135]) -("rootTree", [124, 135, 137]) -("rootType", [133]) -("rs", [662, 663]) -("rubbish", [627]) -("s", [445, 453, 453, 461, 654, 712, 719, 722, 723, 723, 724, 724, 725, 725, 727, 731]) -("sTau", [722, 723, 724, 725]) -("sTree", [722, 723, 724, 725]) -("scheme", [382, 385, 399, 403, 425, 434, 881, 882]) -("schemes", [1026, 1028]) -("scvs", [385, 385, 403, 404, 404, 406, 406, 891, 893, 1036, 1037]) -("second", [68, 68, 563, 738, 1034]) -("sequence", [467, 470, 470, 598, 764, 893, 1036, 1067]) -("sigmas", [656]) -("signature", [712]) -("similar", [627]) -("so", [597, 655]) -("source", [267, 305, 601, 621]) -("st", [434, 434]) -("stvs", [555, 560]) -("sub", [197, 201, 214, 287, 749, 749, 750, 751, 752, 755, 939, 969]) -("sub1", [226, 226]) -("sub2", [226, 226]) -("subnames", [1100]) -("subst", [231, 233, 355, 515, 689, 731, 845, 879, 894, 899, 902, 1038]) -("substitution", [268, 712, 717]) -("substitutions", [241, 329, 710, 711]) -("such", [418]) -("supply", [571, 585]) -("sw", [67, 68, 593, 602, 653, 657, 680, 684, 698, 708, 722]) -("switch", [540, 541, 586, 714, 716]) -("switchExpr", [30, 31]) -("t", [80, 81, 98, 98, 100, 101, 101, 141, 141, 185, 185, 260, 261, 263, 264, 272, 282, 288, 385, 385, 403, 404, 764, 855, 856, 861, 862, 863, 891, 891, 966, 969, 1014, 1015, 1015, 1034, 1034, 1037, 1038, 1038, 1085, 1085]) -("t1", [87, 88, 90, 91, 103, 103, 163, 163, 189, 189, 218, 218, 296, 296, 297, 297, 303, 307, 928, 929]) -("t2", [87, 89, 90, 92, 103, 103, 163, 163, 189, 189, 218, 218, 296, 296, 297, 297, 303, 309, 928, 929]) -("t2e", [56, 58, 58, 60, 61, 62, 63, 63, 63, 64, 64, 65, 66, 67, 68, 68, 71]) -("tVs", [563, 568, 572, 738, 739]) -("tau", [685, 688, 689, 704, 709, 718, 719, 724, 729, 731, 731, 735]) -("tc", [127, 508, 514, 517, 520, 523, 526, 527, 528, 530, 533, 540, 655, 663, 714, 722, 847, 955, 1003, 1093]) -("tcAdd", [1005, 1020, 1026, 1098]) -("tcAl", [894, 899, 902, 1038]) -("tcApply", [197, 201, 214, 287, 939, 969]) -("tcArrow", [159, 163]) -("tcBar", [385, 390, 394, 1037]) -("tcBool", [175, 177]) -("tcCharVal", [415, 417, 418, 881]) -("tcCheck", [117, 122]) -("tcCheckUnifier", [356, 361, 363, 364, 365]) -("tcConstrTypeSchemes", [146, 551, 555]) -("tcDeOkSel", [629]) -("tcDeOksel", [628, 629, 689, 733, 755]) -("tcDelta", [238, 242, 247, 264]) -("tcDeplete", [450, 453, 470, 572, 921, 957]) -("tcExclude", [404, 406]) -("tcExtend", [255, 260, 284]) -("tcGenbar", [1028, 1034]) -("tcGetAllGammas", [659, 799, 804, 807, 809]) -("tcGetGammaN", [770, 775, 808]) -("tcGetTypeDef", [604, 814, 818]) -("tcId", [231, 233, 355, 515, 689, 731, 845, 879]) -("tcInt", [168, 170]) -("tcK31sel", [636, 739]) -("tcK33", [608, 637, 659, 740]) -("tcMapAnnExpr", [16, 20, 27, 27, 29, 31, 32, 35, 38, 47]) -("tcMergeSubs", [333, 336, 339, 727, 733]) -("tcMergeSubsMain", [341, 346, 349]) -("tcNSDouble", [462, 483, 486, 487, 491, 492]) -("tcNSSucc", [453, 461, 474, 477, 478, 479, 492]) -("tcNSdlimit", [489, 489, 495, 496, 499, 499]) -("tcNSslimit", [478, 498, 499]) -("tcName", [467, 470, 470, 764, 893, 1036, 1067]) -("tcNew", [958, 974, 1062, 1067, 1067]) -("tcNewTypeVars", [560, 605, 760, 764]) -("tcNewinstance", [882, 887, 891]) -("tcNext", [442, 445, 470, 920, 959]) -("tcOk13sel", [630, 631, 631, 687, 723]) -("tcOk23sel", [632, 633, 633, 688, 724, 735]) -("tcOk33sel", [634, 635, 635, 725, 737]) -("tcOld", [1078, 1085, 1095]) -("tcOldUnified", [351, 370, 372, 373, 374]) -("tcPretty", [108, 111, 143]) -("tcReorder", [609, 615, 617, 618, 623]) -("tcResult", [123, 127, 133]) -("tcScomp", [222, 226, 264, 863, 1015]) -("tcShowtExpr", [77, 80, 97, 113, 269, 272, 307, 309]) -("tcSplit", [458, 461, 606, 664, 665, 849, 994, 1007, 1060, 1061, 1099]) -("tcSub", [47, 204, 210, 214, 216, 216, 218, 218, 218, 288, 374, 399, 403, 404, 430, 434, 434, 729, 735, 856, 863, 891, 1006, 1038, 1079, 1080, 1096, 1097]) -("tcSubstAnnTree", [43, 47, 135]) -("tcTDefSubst", [567, 776, 782, 786, 793, 794]) -("tcTreeToEnv", [52, 55, 137]) -("tcTvars", [182, 185, 263, 385, 569, 1037]) -("tcUnify", [278, 282, 285, 290, 291, 293, 294, 296, 299, 303, 323, 731, 751, 755, 929]) -("tcUnifySet", [355, 689, 745, 749, 750, 752, 753]) -("tcUnifyl", [297, 301, 316, 320, 1076]) -("tcUnknowns", [382, 385, 422, 425, 425, 1029]) -("tcap", [524, 911, 918]) -("tcap1", [918, 926, 928]) -("tcap2", [929, 934, 936]) -("tccase", [541, 583, 593]) -("tccase1", [602, 643, 653]) -("tccase2", [657, 670, 680]) -("tccase3", [684, 695, 708]) -("tcl", [838, 844, 846, 856, 918, 995, 1058]) -("tcl1", [847, 854, 855]) -("tcl2", [856, 861, 862]) -("tclambda", [529, 531, 948, 955]) -("tclambda1", [955, 964, 966]) -("tclet", [535, 983, 991]) -("tclet1", [992, 1000, 1002]) -("tclet2", [1003, 1012, 1014, 1093]) -("tcletrec", [536, 1048, 1056]) -("tcletrec1", [1057, 1073, 1075]) -("tcletrec2", [1076, 1090, 1092]) -("tcn", [216, 216, 299, 299, 300, 300]) -("tcvar", [518, 521, 873, 879]) -("tdCNames", [599, 608, 609, 720, 740]) -("tdInUse", [602, 604, 605, 608, 653, 657, 659, 680, 684, 701, 708, 739, 740]) -("tdSignature", [566, 568, 729, 739]) -("tdefs", [122, 127, 146]) -("tdefset", [819, 821, 823, 825]) -("tds", [514, 517, 518, 520, 521, 523, 524, 526, 527, 528, 529, 530, 531, 533, 535, 536, 540, 541, 593, 602, 604, 653, 657, 663, 680, 684, 695, 708, 722, 818, 827, 844, 846, 847, 847, 854, 855, 856, 879, 918, 918, 955, 955, 991, 992, 995, 1000, 1002, 1003, 1056, 1057, 1058, 1073, 1075, 1076, 1090, 1092, 1093]) -("te", [422, 425, 430, 434, 856, 1006, 1029, 1079, 1080, 1096, 1097]) -("texp", [569, 569, 569]) -("texpr", [247, 247]) -("that", [715]) -("the", [559, 562, 565, 565, 571, 594, 596, 597, 598, 654, 654, 655, 681, 681, 682, 682, 683, 710, 711, 712, 712, 712, 714, 714, 715, 716, 716, 717, 717]) -("themselves", [562]) -("then", [124, 203, 284, 338, 535, 600, 656, 820, 822]) -("therein", [595]) -("these", [731]) -("this", [715]) -("tijp", [70, 71]) -("times", [574]) -("tipe", [111, 113]) -("tn", [555, 560, 568]) -("tname", [826, 827]) -("to", [270, 574, 595, 597, 655, 681, 685, 685, 687, 688, 689, 703, 704, 709, 709, 712, 712, 714, 727, 894, 899, 902, 1038]) -("track", [378]) -("tree", [47, 47, 55, 56, 719, 725]) -("ts", [98, 99, 102, 102, 188, 188, 216, 216, 299, 299, 301, 301, 862, 863, 1002, 1005, 1026, 1028, 1075, 1076, 1076, 1078, 1095, 1098]) -("tvars", [185, 187, 188, 188, 189, 189, 189, 710]) -("tvdict", [83, 100, 100, 101, 102, 102, 103, 103, 103]) -("tvl", [775, 776, 804, 807, 808, 809]) -("tvn", [201, 202, 203, 206, 206, 214, 214, 242, 243, 244, 244, 245, 245, 247, 247, 260, 261, 263, 264, 269, 282, 283, 284, 287, 789, 789, 918, 920, 926, 928, 929, 929, 934, 936, 939, 955, 958, 959, 964, 966, 969, 974, 974]) -("tvn2", [242, 243, 244, 244, 245, 245]) -("tvname", [83, 83, 96, 98, 98, 99]) -("type", [3, 47, 125, 155, 204, 210, 214, 216, 216, 218, 218, 218, 288, 374, 404, 503, 558, 559, 562, 583, 584, 594, 595, 682, 682, 713, 714, 715, 717, 729, 735, 814, 863, 891, 1038]) -("typedef", [712]) -("types", [378, 565, 656, 683]) -("u", [373, 374]) -("undeclared", [621]) -("unified", [347]) -("unifiedOlds", [338, 339, 341]) -("unifier", [681, 683]) -("unifiers", [681]) -("unify", [306, 321, 323, 324]) -("unknown", [710]) -("unknowns", [1028, 1029, 1034, 1037]) -("unzip2", [538, 543, 544, 609]) -("uol", [617, 618, 619, 623]) -("up", [710]) -("us", [373, 374]) -("use", [594, 820]) -("used", [815]) -("usedc", [828, 829]) -("utDomain", [353]) -("utLookup", [791]) -("utLookupAll", [354]) -("utLookupDef", [206, 418, 619]) -("utRange", [425]) -("v", [23, 23, 60]) -("v5", [3]) -("var", [247, 247, 558]) -("variable", [418]) -("variables", [438, 562, 595, 682, 868]) -("vars", [558, 595]) -("version", [4]) -("vl", [764, 764]) -("vs", [32, 32, 141]) -("where", [7, 22, 57, 82, 126, 133, 140, 186, 205, 286, 322, 340, 352, 405, 462, 489, 537, 542, 557, 603, 658, 664, 686, 721, 754, 788, 824, 848, 880, 892, 919, 938, 956, 968, 993, 1004, 1027, 1035, 1059, 1077, 1094]) -("with", [308, 558, 806]) -("x", [130, 133, 133, 187, 187, 394, 394, 394, 434, 434, 517, 518, 528, 529, 530, 531, 628, 628, 879, 879, 881, 955, 955, 958, 964, 966, 967, 974, 974, 1085]) -("x2", [131]) -("xs", [394, 394, 530, 531, 535, 536, 538, 991, 992, 1000, 1002, 1003, 1005, 1012, 1014, 1015, 1026, 1026, 1056, 1057, 1062, 1067, 1067, 1073, 1075, 1076, 1090, 1092, 1093]) -("y", [188, 530, 531]) -("ys", [394, 394]) -("zip", [301, 351, 607, 607, 720, 720, 764, 776, 893, 1015, 1026, 1036, 1067, 1076]) +("A",[3]) +("AAp",[26,27,63,937]) +("ACase",[30,31,67,719]) +("AConstr",[25,25,62]) +("ALam",[32,32,64,967]) +("ALet",[28,29,65,1015]) +("AList",[415,553,649,675,700,762,770,773,782,799,802,899]) +("ANum",[24,24,61,515]) +("AVar",[23,23,60,879]) +("Also",[596,682]) +("AnnExpr",[17,18,44,45,52,120,842]) +("Association",[411]) +("AtomicProgram",[119]) +("BaseDefs",[8]) +("Big",[718,733,735]) +("CASE",[601,622,822]) +("CExpr",[511,586,589,646,648,673,698,841,914,915,952,987,988,1052,1053]) +("Cannot",[306]) +("Char",[78,109,120]) +("Circular",[268]) +("ConstrAlt",[771,800]) +("Corrected",[4]) +("EAp",[523]) +("ECase",[540]) +("EConstr",[520]) +("ELam",[526,528,530,531]) +("ELet",[533]) +("ENum",[514]) +("EVar",[517]) +("End",[1104]) +("Eq",[390]) +("Error",[601,621]) +("Fail",[125,131,324,324,364,629,631,633,635,854,854,861,861,926,927,934,935,964,964,1000,1000,1012,1012,1073,1073,1090,1090]) +("False",[81,89,90,92,131,150,1003]) +("File",[3]) +("Formatting",[13]) +("Int",[474,475,483,484,495,498]) +("Just",[789]) +("Keeping",[378]) +("Merging",[329]) +("Message",[120,258,280,318,361,512,590,651,677,678,702,706,747,842,877,916,953,989,1054]) +("MyUtils",[10]) +("Naam",[44,45,52,108,120,415,415,553,587,588,615,615,647,649,674,675,699,700,762,770,772,773,782,799,801,802,815,842,876,951,986,1022,1051]) +("New",[438]) +("No",[125]) +("Nothing",[790]) +("Ok",[124,130,133,262,264,321,323,363,515,628,630,632,634,717,718,749,845,855,862,863,879,928,936,937,966,967,1002,1014,1015,1075,1092]) +("Projection",[627]) +("RHS",[654,655,656]) +("RHSs",[716]) +("Reply",[120,258,280,318,361,512,590,651,677,678,702,706,747,842,877,916,953,989,1054]) +("Representation",[155]) +("Scheme",[141,385,403,404,569,776,891,974,1034,1085]) +("Subst",[43,197,210,222,223,224,231,240,255,258,278,280,316,318,333,334,346,347,347,361,361,370,399,430,703,705,745,747,842,900]) +("Substitutions",[193]) +("T1",[681]) +("TArr",[87,90,103,163,189,218,218,293,296,296,566,929,969]) +("TCons",[84,85,86,93,102,170,177,188,216,216,290,299,299,515,515,568,739,790,794]) +("TDefCons",[793]) +("TDefExpr",[783]) +("TDefVar",[786]) +("TExpr",[44,45,52,77,108,120,159,160,161,168,175,182,199,211,212,239,257,279,279,317,317,370,370,704,746,784,842,842,889,1023]) +("TVName",[183,198,238,256,383,423,443,468,649,675,700,762,770,782,799,899,899]) +("TVar",[83,101,187,202,203,206,214,241,241,242,244,245,261,269,282,283,290,293,568,739,789,902,929,974]) +("TcTypeEnv",[117,422,431,432,509,584,644,671,696,839,874,912,949,984,1020,1024,1049]) +("The",[503]) +("Tk",[681]) +("True",[87,88,91,95,130,150,1093]) +("Type",[97,267,305,548,833,868,906,943,978,1043]) +("TypeCheck5",[3,7,1104]) +("TypeDef",[508,552,583,643,650,670,676,695,701,760,814,816,838,873,911,948,983,1048]) +("TypeEnv",[53,120]) +("TypeInfo",[512,590,651,677,678,702,706,877,916,953,989,1054]) +("TypeNameSupply",[118,442,450,451,458,459,459,467,510,551,553,585,645,672,697,761,840,875,887,913,950,985,1021,1050]) +("TypeScheme",[382,400,401,553,773,802,888]) +("Undeclared",[820]) +("Unification",[251]) +("Utils",[9]) +("a",[4,16,17,390,390,391,392,574,630,630,632,634,636,636,637]) +("aFN",[66,70]) +("abstractions",[943]) +("accordance",[806]) +("actual",[562]) +("ae1",[26,27,63,63,928,929,934,936,937]) +("ae2",[26,27,63,63,928,929,934,936,937]) +("al",[417,418,793,794,893,894,902,902,1034,1036,1038]) +("all",[241,654,655,681]) +("allowable",[713]) +("als",[593,607]) +("alternatives",[601]) +("alters",[543,544]) +("alts",[67,68,540,543]) +("an",[574,594,715]) +("and",[597,627,656,681,716]) +("ann",[20,21]) +("annAlts",[30,31]) +("annDefs",[28,29]) +("annoTree",[133,135]) +("annotatedE",[855,856,861,862,864,966,967,1014,1015]) +("annotatedEs",[862,864]) +("annotatedRHSs",[720,737]) +("applications",[906]) +("apply",[574,712]) +("applyNtimes",[572,575,577]) +("arg",[574,575,576,577]) +("arglists",[541,544]) +("argument",[588,596]) +("as",[597,655]) +("associates",[558]) +("association",[594]) +("b",[16,18,83,84,85,86,93,415,415,615,615,630,632,632,634,636,637]) +("baseTypes",[122,128]) +("be",[805]) +("big",[717]) +("bindings",[584,716,717]) +("binds",[347]) +("body",[70,71]) +("bool",[85,85,150,177]) +("builtInTypes",[127,146,149]) +("bvar",[958,974,1067,1078,1085,1095]) +("bvars",[1062,1067]) +("c",[17,18,25,25,62,102,520,521,630,632,634,634,636,637,637,764,793,794]) +("cAltsCurried",[556,566]) +("cAltsXLated",[566,567]) +("cal",[555,560,567,775,776]) +("calculate",[654]) +("call",[655,714]) +("calt",[807,808]) +("calts",[806,807,809]) +("case",[548]) +("char",[86,86]) +("check",[715]) +("checker",[3,503]) +("checking",[548,833,868,906,943,978,1043]) +("chr",[83]) +("cl",[93,95,826,827,829]) +("cname",[775]) +("compute",[682]) +("concat",[66,68,95,102,143,147,350,425,727]) +("constrTypes",[145,147]) +("constructor",[565,583,621]) +("constructors",[541,543,587,598,815,820,822]) +("contains",[822]) +("cparams",[775,776,807,808]) +("cparamss",[805,807,809]) +("cs",[64,593,599,604,607,818,828]) +("current",[584]) +("decls",[1005,1020,1026,1098]) +("deduced",[715]) +("definition",[594,598,682]) +("definitions",[583,814]) +("dl",[65,66,533,538]) +("downhill",[241]) +("e",[32,32,64,64,406,406,526,527,528,529,530,531,533,535,536,846,847,955,955,991,992,1000,1002,1003,1056,1057,1073,1075,1076,1090,1092,1093]) +("e1",[523,524,749,750,751,752,755,918,918]) +("e2",[523,524,750,751,752,753,755,918,918]) +("e3",[752,753]) +("each",[558,655,656,710]) +("elem",[394,406,829]) +("else",[125,204,285,339,536,602,821,823]) +("enScheme",[556,569]) +("eqn",[323,323,324]) +("eqns",[320,321]) +("error",[267,305]) +("es",[535,536,538,752,753,846,847,854,855,856,991,995,1056,1058]) +("expr",[34,35,122,128]) +("expression",[586,714,716,822]) +("expressions",[155,548,589,597,833,978,1043]) +("exprs",[541,544]) +("f",[20,21,27,27,29,31,32,35,38,133,133,139,141,445,453,453,461,462,787,789,790]) +("f2",[461,461,462]) +("fail",[266,304,600,620,820,822]) +("failed",[97]) +("final",[718,719,735]) +("finalConstrTypes",[128,139,147]) +("finalNameSupply",[556,572]) +("finalNs",[128,145]) +("finalType",[879,879,882,937,937,939,967,967,969]) +("first",[608,740,829,1098,1100]) +("foldr",[188,321,566]) +("for",[4,654,655,656,681,681,710]) +("from",[716]) +("ftvs",[826,827]) +("fullEnv",[124,139,143]) +("fullEnvWords",[124,143]) +("func",[575,577,577]) +("function",[574]) +("functions",[565,627]) +("g",[662,663]) +("gamma",[425,425,434,434,514,517,518,520,521,523,524,526,527,528,529,530,531,533,535,536,540,541,593,602,653,657,663,680,684,696,708,722,844,846,847,847,854,855,856,879,881,918,918,955,955,958,958,991,992,995,1000,1002,1003,1005,1005,1006,1006,1026,1026,1029,1056,1057,1058,1073,1075,1076,1080,1080,1090,1092,1093,1097,1097,1098,1098]) +("gammas",[654]) +("gather",[655,716]) +("gathered",[717]) +("general",[713]) +("get",[594,681,712,714]) +("going",[270]) +("good",[123,130,131]) +("gs",[662,663]) +("head",[374,735,823]) +("hence",[681]) +("here",[815]) +("if",[123,202,283,337,534,599,819,821]) +("import",[8,9,10]) +("in",[182,185,185,187,188,188,189,189,189,263,267,305,385,559,569,594,598,601,601,621,622,682,805,820,1037]) +("input",[713,715]) +("instance",[715]) +("int",[84,84,170,515,515]) +("into",[711]) +("is",[715]) +("k",[417,418,418,618,619,621]) +("ks",[618,623]) +("l",[187,187,188,188,189,189]) +("lambda",[943]) +("lead",[241]) +("length",[572,599,599,819,821]) +("let",[978]) +("letrec",[1043]) +("lhs",[729,731,731,733]) +("list",[815]) +("lists",[411,588,596,805,833]) +("ljustify",[112]) +("lookUpResult",[202,204,206]) +("lookup",[83,96,97,98,99]) +("m",[3,324,324,364,365,629,629,631,631,633,633,635,635,854,854,861,861,926,927,934,935,964,964,1000,1000,1012,1012,1073,1073,1090,1090,1104]) +("mainExpr",[28,29]) +("make",[710]) +("map",[29,31,66,68,95,102,139,143,216,354,355,356,425,563,567,568,608,687,688,735,737,738,739,740,776,794,829,1028,1034,1067,1078,1095,1098,1100]) +("map2nd",[556,566,567,902]) +("mapAccuml",[146]) +("mapAnnAlt",[31,37]) +("mapAnnDefn",[29,34]) +("mapAnnExpr",[21,23,24,25,26,28,30,32]) +("me",[65,66]) +("merge",[607,609,711]) +("missing",[601]) +("mixed",[822]) +("module",[7]) +("most",[713]) +("must",[805]) +("n",[24,24,61,112,267,267,268,270,270,273,305,305,306,308,308,310,406,406,406,478,478,478,487,488,489,489,489,490,491,491,514,515,574,575,576,577,685,685,687,688,689,703,704,709,709,727,786,790,791]) +("naam",[34,35,37,38,70,71,111,112,141,141]) +("name",[97,442,445,470,571,585,920,959]) +("nameMap",[786,791,793,794]) +("nbvs",[1057,1058,1062,1073,1075,1076,1078,1079,1079,1090,1092,1095,1096,1096,1098,1100]) +("new",[347,558,716]) +("newBinds",[337,339,341]) +("newSub",[753,755]) +("newTVs",[560,563,567,602,605,653,657,659,680,684,700,708,738]) +("newUnifiers",[355,356]) +("newUnifiersChecked",[350,351,356]) +("no",[418]) +("node",[20,21,58,58]) +("nodeType",[58]) +("non",[247,247]) +("not",[394,406,534]) +("notArrow",[93,94]) +("notElem",[263]) +("note",[805]) +("ns",[122,146,445,445,470,470,470,478,478,479,487,488,491,491,492,514,517,518,520,521,523,524,526,527,528,529,530,531,533,535,536,540,541,555,560,572,593,606,653,665,680,684,697,708,722,764,764,844,846,849,854,855,856,879,882,891,893,918,918,920,921,921,955,955,957,957,959,991,994,1000,1002,1007,1026,1028,1034,1036,1056,1060,1060,1061,1067,1067,1073,1075,1076,1090,1092,1099]) +("ns0",[847,849,992,994,1005,1007,1057,1060,1098,1099]) +("ns1",[602,606,660,665,847,849,994,995,1003,1007,1058,1061,1093,1099]) +("ns2",[605,606,657,665,1061,1062]) +("nsl",[661,662,664]) +("nsl1",[663,664]) +("nsl2",[663,664]) +("nub",[100,353,569,599,825,1037]) +("of",[13,155,329,347,378,565,594,598,683,710,714,715,815,833]) +("og",[373,374]) +("ogs",[373,374]) +("oldGroups",[351,354,355]) +("oldVars",[351,353,354]) +("olds",[347]) +("on",[656]) +("one",[711]) +("ordered",[805]) +("otherwise",[99,265,479,490,492,577]) +("p",[290,291,293,294]) +("pair",[347]) +("panic",[97,365,418,629,631,633,635]) +("param",[805]) +("pars",[37,38]) +("pass",[595,656]) +("phi",[47,47,201,204,206,214,214,216,216,218,218,218,260,262,264,282,284,285,287,288,290,291,293,294,296,297,299,301,303,320,321,323,323,336,341,349,353,354,403,404,406,406,434,434,685,685,687,689,703,705,709,709,718,722,723,723,724,725,727,727,727,727,729,731,733,733,733,735,855,856,856,861,862,863,891,894,928,929,936,937,939,966,967,969,1002,1003,1006,1012,1014,1014,1015,1015,1075,1076,1079,1080,1092,1093,1096,1097]) +("phit",[284,285,288]) +("phitvn",[283,285,287]) +("poly",[558]) +("pretty",[81,83,84,85,86,87,88,89,90,91,92,93,95]) +("program",[267,305,601,621]) +("psi",[862,863,863]) +("q",[290,291,293,294]) +("r",[363,363,662,663]) +("reOals",[602,609,653,657,659,680,684,699,708,720]) +("reOres",[602,609,653,660]) +("recFlag",[28,29,1012,1014,1015]) +("recursive",[533,534]) +("reflect",[597]) +("reorder",[596]) +("res",[593,607]) +("resExpr",[37,38]) +("result",[683,717,787,791]) +("resulting",[589,597]) +("results",[13]) +("return",[717]) +("reverse",[731]) +("revised",[571]) +("rf",[65]) +("rhs",[685,689,705,709,727]) +("rhsAnnExprs",[1002,1003,1012,1014,1015,1075,1076,1090,1092,1093]) +("rhsGammas",[659,660]) +("rhsTc1",[660,661,662,663]) +("rhsTcs",[657,660,680,684,687,688,702,708,735,737]) +("rhsTypes",[992,995]) +("rootEnv",[137,139]) +("rootSubst",[133,135]) +("rootTree",[124,135,137]) +("rootType",[133]) +("rs",[662,663]) +("rubbish",[627]) +("s",[445,453,453,461,654,712,719,722,723,723,724,724,725,725,727,731]) +("sTau",[722,723,724,725]) +("sTree",[722,723,724,725]) +("scheme",[382,385,399,403,425,434,881,882]) +("schemes",[1026,1028]) +("scvs",[385,385,403,404,404,406,406,891,893,1036,1037]) +("second",[68,68,563,738,1034]) +("sequence",[467,470,470,598,764,893,1036,1067]) +("sigmas",[656]) +("signature",[712]) +("similar",[627]) +("so",[597,655]) +("source",[267,305,601,621]) +("st",[434,434]) +("stvs",[555,560]) +("sub",[197,201,214,287,749,749,750,751,752,755,939,969]) +("sub1",[226,226]) +("sub2",[226,226]) +("subnames",[1100]) +("subst",[231,233,355,515,689,731,845,879,894,899,902,1038]) +("substitution",[268,712,717]) +("substitutions",[241,329,710,711]) +("such",[418]) +("supply",[571,585]) +("sw",[67,68,593,602,653,657,680,684,698,708,722]) +("switch",[540,541,586,714,716]) +("switchExpr",[30,31]) +("t",[80,81,98,98,100,101,101,141,141,185,185,260,261,263,264,272,282,288,385,385,403,404,764,855,856,861,862,863,891,891,966,969,1014,1015,1015,1034,1034,1037,1038,1038,1085,1085]) +("t1",[87,88,90,91,103,103,163,163,189,189,218,218,296,296,297,297,303,307,928,929]) +("t2",[87,89,90,92,103,103,163,163,189,189,218,218,296,296,297,297,303,309,928,929]) +("t2e",[56,58,58,60,61,62,63,63,63,64,64,65,66,67,68,68,71]) +("tVs",[563,568,572,738,739]) +("tau",[685,688,689,704,709,718,719,724,729,731,731,735]) +("tc",[127,508,514,517,520,523,526,527,528,530,533,540,655,663,714,722,847,955,1003,1093]) +("tcAdd",[1005,1020,1026,1098]) +("tcAl",[894,899,902,1038]) +("tcApply",[197,201,214,287,939,969]) +("tcArrow",[159,163]) +("tcBar",[385,390,394,1037]) +("tcBool",[175,177]) +("tcCharVal",[415,417,418,881]) +("tcCheck",[117,122]) +("tcCheckUnifier",[356,361,363,364,365]) +("tcConstrTypeSchemes",[146,551,555]) +("tcDeOkSel",[629]) +("tcDeOksel",[628,629,689,733,755]) +("tcDelta",[238,242,247,264]) +("tcDeplete",[450,453,470,572,921,957]) +("tcExclude",[404,406]) +("tcExtend",[255,260,284]) +("tcGenbar",[1028,1034]) +("tcGetAllGammas",[659,799,804,807,809]) +("tcGetGammaN",[770,775,808]) +("tcGetTypeDef",[604,814,818]) +("tcId",[231,233,355,515,689,731,845,879]) +("tcInt",[168,170]) +("tcK31sel",[636,739]) +("tcK33",[608,637,659,740]) +("tcMapAnnExpr",[16,20,27,27,29,31,32,35,38,47]) +("tcMergeSubs",[333,336,339,727,733]) +("tcMergeSubsMain",[341,346,349]) +("tcNSDouble",[462,483,486,487,491,492]) +("tcNSSucc",[453,461,474,477,478,479,492]) +("tcNSdlimit",[489,489,495,496,499,499]) +("tcNSslimit",[478,498,499]) +("tcName",[467,470,470,764,893,1036,1067]) +("tcNew",[958,974,1062,1067,1067]) +("tcNewTypeVars",[560,605,760,764]) +("tcNewinstance",[882,887,891]) +("tcNext",[442,445,470,920,959]) +("tcOk13sel",[630,631,631,687,723]) +("tcOk23sel",[632,633,633,688,724,735]) +("tcOk33sel",[634,635,635,725,737]) +("tcOld",[1078,1085,1095]) +("tcOldUnified",[351,370,372,373,374]) +("tcPretty",[108,111,143]) +("tcReorder",[609,615,617,618,623]) +("tcResult",[123,127,133]) +("tcScomp",[222,226,264,863,1015]) +("tcShowtExpr",[77,80,97,113,269,272,307,309]) +("tcSplit",[458,461,606,664,665,849,994,1007,1060,1061,1099]) +("tcSub",[47,204,210,214,216,216,218,218,218,288,374,399,403,404,430,434,434,729,735,856,863,891,1006,1038,1079,1080,1096,1097]) +("tcSubstAnnTree",[43,47,135]) +("tcTDefSubst",[567,776,782,786,793,794]) +("tcTreeToEnv",[52,55,137]) +("tcTvars",[182,185,263,385,569,1037]) +("tcUnify",[278,282,285,290,291,293,294,296,299,303,323,731,751,755,929]) +("tcUnifySet",[355,689,745,749,750,752,753]) +("tcUnifyl",[297,301,316,320,1076]) +("tcUnknowns",[382,385,422,425,425,1029]) +("tcap",[524,911,918]) +("tcap1",[918,926,928]) +("tcap2",[929,934,936]) +("tccase",[541,583,593]) +("tccase1",[602,643,653]) +("tccase2",[657,670,680]) +("tccase3",[684,695,708]) +("tcl",[838,844,846,856,918,995,1058]) +("tcl1",[847,854,855]) +("tcl2",[856,861,862]) +("tclambda",[529,531,948,955]) +("tclambda1",[955,964,966]) +("tclet",[535,983,991]) +("tclet1",[992,1000,1002]) +("tclet2",[1003,1012,1014,1093]) +("tcletrec",[536,1048,1056]) +("tcletrec1",[1057,1073,1075]) +("tcletrec2",[1076,1090,1092]) +("tcn",[216,216,299,299,300,300]) +("tcvar",[518,521,873,879]) +("tdCNames",[599,608,609,720,740]) +("tdInUse",[602,604,605,608,653,657,659,680,684,701,708,739,740]) +("tdSignature",[566,568,729,739]) +("tdefs",[122,127,146]) +("tdefset",[819,821,823,825]) +("tds",[514,517,518,520,521,523,524,526,527,528,529,530,531,533,535,536,540,541,593,602,604,653,657,663,680,684,695,708,722,818,827,844,846,847,847,854,855,856,879,918,918,955,955,991,992,995,1000,1002,1003,1056,1057,1058,1073,1075,1076,1090,1092,1093]) +("te",[422,425,430,434,856,1006,1029,1079,1080,1096,1097]) +("texp",[569,569,569]) +("texpr",[247,247]) +("that",[715]) +("the",[559,562,565,565,571,594,596,597,598,654,654,655,681,681,682,682,683,710,711,712,712,712,714,714,715,716,716,717,717]) +("themselves",[562]) +("then",[124,203,284,338,535,600,656,820,822]) +("therein",[595]) +("these",[731]) +("this",[715]) +("tijp",[70,71]) +("times",[574]) +("tipe",[111,113]) +("tn",[555,560,568]) +("tname",[826,827]) +("to",[270,574,595,597,655,681,685,685,687,688,689,703,704,709,709,712,712,714,727,894,899,902,1038]) +("track",[378]) +("tree",[47,47,55,56,719,725]) +("ts",[98,99,102,102,188,188,216,216,299,299,301,301,862,863,1002,1005,1026,1028,1075,1076,1076,1078,1095,1098]) +("tvars",[185,187,188,188,189,189,189,710]) +("tvdict",[83,100,100,101,102,102,103,103,103]) +("tvl",[775,776,804,807,808,809]) +("tvn",[201,202,203,206,206,214,214,242,243,244,244,245,245,247,247,260,261,263,264,269,282,283,284,287,789,789,918,920,926,928,929,929,934,936,939,955,958,959,964,966,969,974,974]) +("tvn2",[242,243,244,244,245,245]) +("tvname",[83,83,96,98,98,99]) +("type",[3,47,125,155,204,210,214,216,216,218,218,218,288,374,404,503,558,559,562,583,584,594,595,682,682,713,714,715,717,729,735,814,863,891,1038]) +("typedef",[712]) +("types",[378,565,656,683]) +("u",[373,374]) +("undeclared",[621]) +("unified",[347]) +("unifiedOlds",[338,339,341]) +("unifier",[681,683]) +("unifiers",[681]) +("unify",[306,321,323,324]) +("unknown",[710]) +("unknowns",[1028,1029,1034,1037]) +("unzip2",[538,543,544,609]) +("uol",[617,618,619,623]) +("up",[710]) +("us",[373,374]) +("use",[594,820]) +("used",[815]) +("usedc",[828,829]) +("utDomain",[353]) +("utLookup",[791]) +("utLookupAll",[354]) +("utLookupDef",[206,418,619]) +("utRange",[425]) +("v",[23,23,60]) +("v5",[3]) +("var",[247,247,558]) +("variable",[418]) +("variables",[438,562,595,682,868]) +("vars",[558,595]) +("version",[4]) +("vl",[764,764]) +("vs",[32,32,141]) +("where",[7,22,57,82,126,133,140,186,205,286,322,340,352,405,462,489,537,542,557,603,658,664,686,721,754,788,824,848,880,892,919,938,956,968,993,1004,1027,1035,1059,1077,1094]) +("with",[308,558,806]) +("x",[130,133,133,187,187,394,394,394,434,434,517,518,528,529,530,531,628,628,879,879,881,955,955,958,964,966,967,974,974,1085]) +("x2",[131]) +("xs",[394,394,530,531,535,536,538,991,992,1000,1002,1003,1005,1012,1014,1015,1026,1026,1056,1057,1062,1067,1067,1073,1075,1076,1090,1092,1093]) +("y",[188,530,531]) +("ys",[394,394]) +("zip",[301,351,607,607,720,720,764,776,893,1015,1026,1036,1067,1076]) diff --git a/ghc/tests/programs/lex/lex.stdout b/ghc/tests/programs/lex/lex.stdout index 1623480..2b98545 100644 --- a/ghc/tests/programs/lex/lex.stdout +++ b/ghc/tests/programs/lex/lex.stdout @@ -1 +1 @@ -["module", "Graph", "where", "import", "Parse", "import", "StdLib", "import", "PSlib", "import", "GRIP", "paperX", "=", "280", "::", "Int", "paperY", "=", "190", "::", "Int", "fromInt", "::", "Num", "a", "=>", "Int", "->", "a", "fromInt", "=", "fromInteger", ".", "toInteger", "gspostscript", "str", "=", "initialise", "stdheader", "++", "portrait", "++", "str", "++", "\"showpage\\n\"", "postscript", "str", "=", "initialise", "stdheader", "++", "landscape", "++", "str", "++", "\"showpage\\n\"", "ePostscript", "(", "reqdx", ",", "reqdy", ")", "str", "=", "initialise", "(", "stdheader", "++", "\"%%BoundingBox: 0 0 \"", "++", "show", "(", "cms2pts", "reqdx", ")", "++", "\" \"", "++", "show", "(", "cms2pts", "reqdy", ")", "++", "\"\\n\"", "++", "\"%%EndComments\\n\"", ")", "++", "scale", "(", "fromInt", "reqdx", "*", "10", "/", "fromInt", "paperX", ")", "(", "fromInt", "reqdy", "*", "10", "/", "fromInt", "paperY", ")", "++", "str", "++", "showpage", "initGraph", "title", "pedata", "(", "topX", ",", "topY", ")", "(", "xlabel", ",", "ylabel", ")", "keys", "=", "drawBox", "(", "Pt", "0", "0", ")", "paperX", "paperY", "++", "drawBox", "(", "Pt", "1", "1", ")", "(", "paperX", "-", "2", ")", "5", "++", "drawBox", "(", "Pt", "1", "(", "paperY", "-", "7", ")", ")", "(", "paperX", "-", "2", ")", "6", "++", "setfont", "\"BOLD\"", "++", "moveto", "(", "Pt", "(", "paperX", "`", "div", "`", "2", ")", "(", "paperY", "-", "6", ")", ")", "++", "cjustify", "(", "title", ")", "++", "setfont", "\"NORM\"", "++", "placePEs", "pedata", "++", "translate", "20", "25", "++", "newpath", "++", "moveto", "(", "Pt", "0", "(", "-", "5", ")", ")", "++", "lineto", "(", "Pt", "0", "dimY", ")", "++", "moveto", "(", "Pt", "(", "-", "5", ")", "0", ")", "++", "lineto", "(", "Pt", "dimX", "0", ")", "++", "stroke", "++", "setfont", "\"SMALL\"", "++", "markXAxis", "dimX", "topX", "++", "markYAxis", "dimY", "topY", "++", "moveto", "(", "Pt", "0", "(", "dimY", "+", "4", ")", ")", "++", "rjustify", "ylabel", "++", "stroke", "++", "moveto", "(", "Pt", "dimX", "(", "-", "8", ")", ")", "++", "rjustify", "xlabel", "++", "stroke", "++", "setfont", "\"NORM\"", "++", "dokeys", "dimX", "keys", "placePEs", "(", "pes", ",", "on", ")", "|", "checkPEs", "(", "tail", "pes", ")", "on", "=", "showActive", "(", "length", "pes", ")", "(", "length", "used", ")", "++", "showUsed", "pes", "used", "++", "setfont", "\"NORM\"", "where", "used", "=", "if", "on", "==", "[", "]", "then", "tail", "pes", "else", "on", "cms2pts", "::", "Int", "->", "Int", "cms2pts", "x", "=", "round", "(", "28.4584", "*", "fromInt", "x", ")", "plotCurve", "::", "Int", "->", "[", "Point", "]", "->", "Postscript", "plotCurve", "x", "pts", "=", "setgray", "x", "++", "fillObject", "pts", "plot", "::", "[", "Point", "]", "->", "Postscript", "plot", "points", "=", "plotCurve", "5", "(", "Pt", "0", "0", ":", "points", ")", "dokeys", "left", "keys", "=", "concat", "(", "map2", "format", "(", "places", "0", ")", "keys", ")", "where", "format", "pt", "@", "(", "Pt", "x", "y", ")", "(", "col", ",", "tex", ",", "pc", ")", "=", "fillBox", "pt", "16", "9", "col", "++", "stroke", "++", "moveto", "(", "Pt", "(", "x", "+", "17", ")", "(", "y", "+", "3", ")", ")", "++", "text", "tex", "++", "stroke", "++", "moveto", "(", "Pt", "(", "x", "+", "8", ")", "(", "y", "+", "3", ")", ")", "++", "inv", "col", "++", "setfont", "\"BOLD\"", "++", "cjustify", "(", "pc", ")", "++", "stroke", "++", "setfont", "\"NORM\"", "++", "setgray", "10", "no", "=", "left", "`", "div", "`", "length", "keys", "places", "n", "|", "n", "==", "no", "=", "[", "]", "places", "n", "=", "(", "Pt", "(", "n", "*", "no", ")", "(", "-", "17", ")", ")", ":", "places", "(", "n", "+", "1", ")", "showActive", "t", "f", "=", "setfont", "\"LARGE\"", "++", "moveto", "(", "Pt", "10", "16", ")", "++", "cjustify", "(", "show", "f", ")", "++", "setfont", "\"SMALL\"", "++", "moveto", "(", "Pt", "10", "12", ")", "++", "cjustify", "\"PE(s)\"", "++", "stroke", "++", "setfont", "\"SMALL\"", "++", "moveto", "(", "Pt", "10", "8", ")", "++", "cjustify", "\"displayed\"", "++", "stroke", "++", "setfont", "\"NORM\"", "showUsed", "(", "m", ":", "pes", ")", "on", "=", "moveto", "(", "Pt", "2", "2", ")", "++", "setfont", "\"SMALL\"", "++", "text", "\"Configuration:\"", "++", "dopes", "(", "paperX", "-", "27", ")", "(", "(", "\"SMALLITALIC\"", ",", "showPE", "m", ")", ":", "map", "f", "pes", ")", "++", "stroke", "where", "f", "pe", "|", "elem", "pe", "on", "=", "(", "\"SMALLBOLD\"", ",", "showPE", "pe", ")", "|", "otherwise", "=", "(", "\"SMALL\"", ",", "showPE", "pe", ")", "dopes", "left", "pes", "=", "concat", "(", "map2", "format", "(", "places", "0", ")", "pes", ")", "where", "format", "pt", "@", "(", "Pt", "x", "y", ")", "(", "font", ",", "tex", ")", "=", "setfont", "font", "++", "moveto", "pt", "++", "text", "tex", "++", "stroke", "no", "=", "left", "`", "div", "`", "(", "(", "length", "pes", "*", "2", ")", "+", "1", ")", "f", "x", "=", "(", "no", "*", "(", "(", "x", "*", "2", ")", "+", "1", ")", ")", "+", "27", "places", "n", "|", "n", ">", "2", "*", "no", "=", "[", "]", "places", "n", "=", "(", "Pt", "(", "f", "n", ")", "2", ")", ":", "places", "(", "n", "+", "1", ")", "checkPEs", "pes", "[", "]", "=", "True", "checkPEs", "pes", "(", "p", ":", "ps", ")", "|", "elem", "p", "pes", "=", "checkPEs", "pes", "ps", "|", "otherwise", "=", "error", "(", "\"Attempt to gather information from inactive PE - \"", "++", "showPE", "p", ")", "showPE", "::", "PElement", "->", "String", "showPE", "(", "PE", "str", "no", ")", "=", "str", "++", "\".\"", "++", "show", "no", "inv", "x", "|", "x", ">=", "5", "=", "setgray", "0", "|", "otherwise", "=", "setgray", "10", "dimX", "=", "paperX", "-", "30", "dimY", "=", "paperY", "-", "40", "markXAxis", "::", "Int", "->", "Int", "->", "Postscript", "markXAxis", "dimX", "maxX", "=", "label", "10", "++", "markOnX", "100", "where", "label", "0", "=", "\"\"", "label", "x", "=", "newpath", "++", "moveto", "(", "Pt", "(", "notch", "x", ")", "0", ")", "++", "rlineto", "0", "(", "-", "2", ")", "++", "moveto", "(", "Pt", "(", "notch", "x", ")", "(", "-", "5", ")", ")", "++", "cjustify", "(", "printFloat", "(", "t", "x", ")", ")", "++", "stroke", "++", "label", "(", "x", "-", "1", ")", "t", "x", "=", "fromInt", "x", "*", "(", "fromInt", "maxX", "/", "fromInt", "10", ")", "notch", "x", "=", "x", "*", "(", "dimX", "`", "div", "`", "10", ")", "markOnX", "n", "=", "mapcat", "notches", "[", "1", "..", "n", "]", "++", "stroke", "where", "notches", "n", "=", "movetofloat", "(", "m", "*", "fromInt", "n", ")", "0", "++", "(", "rlineto", "0", "(", "-", "1", ")", ")", "++", "stroke", "m", "=", "fromInt", "dimX", "/", "fromInt", "n", "markYAxis", "::", "Int", "->", "Int", "->", "Postscript", "markYAxis", "dimY", "maxY", "=", "label", "10", "++", "markOnY", "(", "calibrate", "maxY", ")", "where", "label", "0", "=", "\"\"", "label", "x", "=", "newpath", "++", "moveto", "(", "Pt", "0", "(", "notch", "x", ")", ")", "++", "rlineto", "(", "-", "2", ")", "0", "++", "moveto", "(", "Pt", "(", "-", "3", ")", "(", "notch", "x", ")", ")", "++", "rjustify", "(", "printFloat", "(", "t", "x", ")", ")", "++", "stroke", "++", "label", "(", "x", "-", "1", ")", "t", "x", "=", "fromInt", "x", "*", "(", "fromInt", "maxY", "/", "fromInt", "10", ")", "notch", "x", "=", "x", "*", "(", "dimY", "`", "div", "`", "10", ")", "calibrate", "x", "|", "x", "<=", "1", "=", "1", "|", "x", "<=", "100", "=", "x", "|", "otherwise", "=", "calibrate", "(", "x", "`", "div", "`", "10", ")", "markOnY", "n", "=", "mapcat", "notches", "[", "1", "..", "n", "]", "++", "stroke", "where", "notches", "n", "=", "movetofloat", "0", "(", "m", "*", "fromInt", "n", ")", "++", "(", "rlineto", "(", "-", "1", ")", "0", ")", "m", "=", "fromInt", "dimY", "/", "fromInt", "n", "movetofloat", "x", "y", "=", "show", "x", "++", "\" \"", "++", "show", "y", "++", "\" moveto\\n\"", "determineScale", "::", "[", "Point", "]", "->", "(", "Int", ",", "Int", ")", "determineScale", "pts", "=", "(", "axisScale", "x", ",", "axisScale", "y", ")", "where", "(", "min", ",", "Pt", "x", "y", ")", "=", "minandmax", "pts", "axisScale", "::", "Int", "->", "Int", "axisScale", "x", "=", "axisScale'", "x", "1", "axisScale'", "x", "m", "|", "x", "<=", "m", "=", "m", "|", "x", "<=", "m", "*", "2", "=", "m", "*", "2", "|", "x", "<=", "m", "*", "5", "=", "m", "*", "5", "|", "x", "<=", "m", "*", "10", "=", "m", "*", "10", "|", "otherwise", "=", "axisScale'", "x", "(", "m", "*", "10", ")", "minandmax", "::", "[", "Point", "]", "->", "(", "Point", ",", "Point", ")", "minandmax", "[", "]", "=", "error", "\"No points\"", "minandmax", "(", "p", ":", "ps", ")", "=", "f", "(", "p", ",", "p", ")", "ps", "where", "f", "p", "[", "]", "=", "p", "f", "(", "Pt", "minx", "miny", ",", "Pt", "maxx", "maxy", ")", "(", "Pt", "x", "y", ":", "ps", ")", "=", "f", "(", "Pt", "minx'", "miny'", ",", "Pt", "maxx'", "maxy'", ")", "ps", "where", "minx'", "=", "min", "x", "minx", "miny'", "=", "min", "y", "miny", "maxx'", "=", "max", "x", "maxx", "maxy'", "=", "max", "y", "maxy", "printFloat", "::", "Float", "->", "String", "printFloat", "x", "=", "f", "(", "show", "(", "round", "(", "x", "*", "10", ")", ")", ")", "where", "f", "\"0\"", "=", "\"0\"", "f", "r", "|", "x", "<", "1", "=", "\"0.\"", "++", "r", "f", "(", "r", ":", "\"0\"", ")", "|", "x", "<", "10", "=", "[", "r", "]", "f", "(", "r", ":", "m", ")", "|", "x", "<", "10", "=", "r", ":", "'.'", ":", "m", "f", "_", "=", "show", "(", "round", "x", ")", ""] +["module","Graph","where","import","Parse","import","StdLib","import","PSlib","import","GRIP","paperX","=","280","::","Int","paperY","=","190","::","Int","fromInt","::","Num","a","=>","Int","->","a","fromInt","=","fromInteger",".","toInteger","gspostscript","str","=","initialise","stdheader","++","portrait","++","str","++","\"showpage\\n\"","postscript","str","=","initialise","stdheader","++","landscape","++","str","++","\"showpage\\n\"","ePostscript","(","reqdx",",","reqdy",")","str","=","initialise","(","stdheader","++","\"%%BoundingBox: 0 0 \"","++","show","(","cms2pts","reqdx",")","++","\" \"","++","show","(","cms2pts","reqdy",")","++","\"\\n\"","++","\"%%EndComments\\n\"",")","++","scale","(","fromInt","reqdx","*","10","/","fromInt","paperX",")","(","fromInt","reqdy","*","10","/","fromInt","paperY",")","++","str","++","showpage","initGraph","title","pedata","(","topX",",","topY",")","(","xlabel",",","ylabel",")","keys","=","drawBox","(","Pt","0","0",")","paperX","paperY","++","drawBox","(","Pt","1","1",")","(","paperX","-","2",")","5","++","drawBox","(","Pt","1","(","paperY","-","7",")",")","(","paperX","-","2",")","6","++","setfont","\"BOLD\"","++","moveto","(","Pt","(","paperX","`","div","`","2",")","(","paperY","-","6",")",")","++","cjustify","(","title",")","++","setfont","\"NORM\"","++","placePEs","pedata","++","translate","20","25","++","newpath","++","moveto","(","Pt","0","(","-","5",")",")","++","lineto","(","Pt","0","dimY",")","++","moveto","(","Pt","(","-","5",")","0",")","++","lineto","(","Pt","dimX","0",")","++","stroke","++","setfont","\"SMALL\"","++","markXAxis","dimX","topX","++","markYAxis","dimY","topY","++","moveto","(","Pt","0","(","dimY","+","4",")",")","++","rjustify","ylabel","++","stroke","++","moveto","(","Pt","dimX","(","-","8",")",")","++","rjustify","xlabel","++","stroke","++","setfont","\"NORM\"","++","dokeys","dimX","keys","placePEs","(","pes",",","on",")","|","checkPEs","(","tail","pes",")","on","=","showActive","(","length","pes",")","(","length","used",")","++","showUsed","pes","used","++","setfont","\"NORM\"","where","used","=","if","on","==","[","]","then","tail","pes","else","on","cms2pts","::","Int","->","Int","cms2pts","x","=","round","(","28.4584","*","fromInt","x",")","plotCurve","::","Int","->","[","Point","]","->","Postscript","plotCurve","x","pts","=","setgray","x","++","fillObject","pts","plot","::","[","Point","]","->","Postscript","plot","points","=","plotCurve","5","(","Pt","0","0",":","points",")","dokeys","left","keys","=","concat","(","map2","format","(","places","0",")","keys",")","where","format","pt","@","(","Pt","x","y",")","(","col",",","tex",",","pc",")","=","fillBox","pt","16","9","col","++","stroke","++","moveto","(","Pt","(","x","+","17",")","(","y","+","3",")",")","++","text","tex","++","stroke","++","moveto","(","Pt","(","x","+","8",")","(","y","+","3",")",")","++","inv","col","++","setfont","\"BOLD\"","++","cjustify","(","pc",")","++","stroke","++","setfont","\"NORM\"","++","setgray","10","no","=","left","`","div","`","length","keys","places","n","|","n","==","no","=","[","]","places","n","=","(","Pt","(","n","*","no",")","(","-","17",")",")",":","places","(","n","+","1",")","showActive","t","f","=","setfont","\"LARGE\"","++","moveto","(","Pt","10","16",")","++","cjustify","(","show","f",")","++","setfont","\"SMALL\"","++","moveto","(","Pt","10","12",")","++","cjustify","\"PE(s)\"","++","stroke","++","setfont","\"SMALL\"","++","moveto","(","Pt","10","8",")","++","cjustify","\"displayed\"","++","stroke","++","setfont","\"NORM\"","showUsed","(","m",":","pes",")","on","=","moveto","(","Pt","2","2",")","++","setfont","\"SMALL\"","++","text","\"Configuration:\"","++","dopes","(","paperX","-","27",")","(","(","\"SMALLITALIC\"",",","showPE","m",")",":","map","f","pes",")","++","stroke","where","f","pe","|","elem","pe","on","=","(","\"SMALLBOLD\"",",","showPE","pe",")","|","otherwise","=","(","\"SMALL\"",",","showPE","pe",")","dopes","left","pes","=","concat","(","map2","format","(","places","0",")","pes",")","where","format","pt","@","(","Pt","x","y",")","(","font",",","tex",")","=","setfont","font","++","moveto","pt","++","text","tex","++","stroke","no","=","left","`","div","`","(","(","length","pes","*","2",")","+","1",")","f","x","=","(","no","*","(","(","x","*","2",")","+","1",")",")","+","27","places","n","|","n",">","2","*","no","=","[","]","places","n","=","(","Pt","(","f","n",")","2",")",":","places","(","n","+","1",")","checkPEs","pes","[","]","=","True","checkPEs","pes","(","p",":","ps",")","|","elem","p","pes","=","checkPEs","pes","ps","|","otherwise","=","error","(","\"Attempt to gather information from inactive PE - \"","++","showPE","p",")","showPE","::","PElement","->","String","showPE","(","PE","str","no",")","=","str","++","\".\"","++","show","no","inv","x","|","x",">=","5","=","setgray","0","|","otherwise","=","setgray","10","dimX","=","paperX","-","30","dimY","=","paperY","-","40","markXAxis","::","Int","->","Int","->","Postscript","markXAxis","dimX","maxX","=","label","10","++","markOnX","100","where","label","0","=","\"\"","label","x","=","newpath","++","moveto","(","Pt","(","notch","x",")","0",")","++","rlineto","0","(","-","2",")","++","moveto","(","Pt","(","notch","x",")","(","-","5",")",")","++","cjustify","(","printFloat","(","t","x",")",")","++","stroke","++","label","(","x","-","1",")","t","x","=","fromInt","x","*","(","fromInt","maxX","/","fromInt","10",")","notch","x","=","x","*","(","dimX","`","div","`","10",")","markOnX","n","=","mapcat","notches","[","1.",".","n","]","++","stroke","where","notches","n","=","movetofloat","(","m","*","fromInt","n",")","0","++","(","rlineto","0","(","-","1",")",")","++","stroke","m","=","fromInt","dimX","/","fromInt","n","markYAxis","::","Int","->","Int","->","Postscript","markYAxis","dimY","maxY","=","label","10","++","markOnY","(","calibrate","maxY",")","where","label","0","=","\"\"","label","x","=","newpath","++","moveto","(","Pt","0","(","notch","x",")",")","++","rlineto","(","-","2",")","0","++","moveto","(","Pt","(","-","3",")","(","notch","x",")",")","++","rjustify","(","printFloat","(","t","x",")",")","++","stroke","++","label","(","x","-","1",")","t","x","=","fromInt","x","*","(","fromInt","maxY","/","fromInt","10",")","notch","x","=","x","*","(","dimY","`","div","`","10",")","calibrate","x","|","x","<=","1","=","1","|","x","<=","100","=","x","|","otherwise","=","calibrate","(","x","`","div","`","10",")","markOnY","n","=","mapcat","notches","[","1.",".","n","]","++","stroke","where","notches","n","=","movetofloat","0","(","m","*","fromInt","n",")","++","(","rlineto","(","-","1",")","0",")","m","=","fromInt","dimY","/","fromInt","n","movetofloat","x","y","=","show","x","++","\" \"","++","show","y","++","\" moveto\\n\"","determineScale","::","[","Point","]","->","(","Int",",","Int",")","determineScale","pts","=","(","axisScale","x",",","axisScale","y",")","where","(","min",",","Pt","x","y",")","=","minandmax","pts","axisScale","::","Int","->","Int","axisScale","x","=","axisScale'","x","1","axisScale'","x","m","|","x","<=","m","=","m","|","x","<=","m","*","2","=","m","*","2","|","x","<=","m","*","5","=","m","*","5","|","x","<=","m","*","10","=","m","*","10","|","otherwise","=","axisScale'","x","(","m","*","10",")","minandmax","::","[","Point","]","->","(","Point",",","Point",")","minandmax","[","]","=","error","\"No points\"","minandmax","(","p",":","ps",")","=","f","(","p",",","p",")","ps","where","f","p","[","]","=","p","f","(","Pt","minx","miny",",","Pt","maxx","maxy",")","(","Pt","x","y",":","ps",")","=","f","(","Pt","minx'","miny'",",","Pt","maxx'","maxy'",")","ps","where","minx'","=","min","x","minx","miny'","=","min","y","miny","maxx'","=","max","x","maxx","maxy'","=","max","y","maxy","printFloat","::","Float","->","String","printFloat","x","=","f","(","show","(","round","(","x","*","10",")",")",")","where","f","\"0\"","=","\"0\"","f","r","|","x","<","1","=","\"0.\"","++","r","f","(","r",":","\"0\"",")","|","x","<","10","=","[","r","]","f","(","r",":","m",")","|","x","<","10","=","r",":","'.'",":","m","f","_","=","show","(","round","x",")",""] diff --git a/ghc/tests/programs/mk/target.mk b/ghc/tests/programs/mk/target.mk index da6ab86..0a73e68 100644 --- a/ghc/tests/programs/mk/target.mk +++ b/ghc/tests/programs/mk/target.mk @@ -8,7 +8,7 @@ # Link step $(TEST_PROG) : $(OBJS) - $(HC) $(HC_FLAGS) $(OBJS) -o $(TEST_PROG) + $(HC) $(HC_OPTS) $(OBJS) -o $(TEST_PROG) # Run test runtest : $(TEST_PROG) diff --git a/ghc/tests/programs/sanders_array/Main.hs b/ghc/tests/programs/sanders_array/Main.hs index a502652..491a46b 100644 --- a/ghc/tests/programs/sanders_array/Main.hs +++ b/ghc/tests/programs/sanders_array/Main.hs @@ -34,7 +34,7 @@ ar_list = [[1,2,3], [6,7,8], [10,12,15]] -main = putStr (show ar) +main = putStrLn (show ar) {- What it tries to do is turn a list of lists into a 2-d array in an incremental diff --git a/ghc/tests/programs/sanders_array/sanders_array.stdout b/ghc/tests/programs/sanders_array/sanders_array.stdout index dd3e055..d3405a7 100644 --- a/ghc/tests/programs/sanders_array/sanders_array.stdout +++ b/ghc/tests/programs/sanders_array/sanders_array.stdout @@ -1 +1 @@ -array ((1, 1), (3, 3)) [((1, 1), 1), ((1, 2), 2), ((1, 3), 3), ((2, 1), 6), ((2, 2), 7), ((2, 3), 8), ((3, 1), 10), ((3, 2), 12), ((3, 3), 15)] \ No newline at end of file +array ((1,1),(3,3)) [((1,1),1),((1,2),2),((1,3),3),((2,1),6),((2,2),7),((2,3),8),((3,1),10),((3,2),12),((3,3),15)] diff --git a/ghc/tests/programs/seward-space-leak/Main.lhs b/ghc/tests/programs/seward-space-leak/Main.lhs index c481597..327118d 100644 --- a/ghc/tests/programs/seward-space-leak/Main.lhs +++ b/ghc/tests/programs/seward-space-leak/Main.lhs @@ -641,7 +641,7 @@ Finally: --> testq tt = (layn . map show' . nub) (enumerate tt) -> main = putStr (show (apply_cds `myElem` (enumerate (Fn [Fn [Two], Two])))) +> main = putStrLn (show (apply_cds `myElem` (enumerate (Fn [Fn [Two], Two])))) > > i `myElem` [] = False > i `myElem` (x:xs) = if i == x then True else i `myElem` xs diff --git a/ghc/tests/programs/waugh_neural/BpGen.lhs b/ghc/tests/programs/waugh_neural/BpGen.lhs index 6901c5c..edba27a 100644 --- a/ghc/tests/programs/waugh_neural/BpGen.lhs +++ b/ghc/tests/programs/waugh_neural/BpGen.lhs @@ -20,6 +20,11 @@ Need to use modules for matrix and vector operations. > import List(transpose) > infixl 7 $$ +> randomInts :: a -> Int -> [Int] +> randomInts _ l = randoms (mkStdGen l) +> randomDoubles :: a -> Int -> [Double] +> randomDoubles _ l = randoms (mkStdGen l) + ------------------------------------------------------------------------------- | Data Types | ------------------------------------------------------------------------------- diff --git a/ghc/tests/programs/waugh_neural/Makefile b/ghc/tests/programs/waugh_neural/Makefile index 39dc227..ec143fb 100644 --- a/ghc/tests/programs/waugh_neural/Makefile +++ b/ghc/tests/programs/waugh_neural/Makefile @@ -1,6 +1,8 @@ TOP = .. include $(TOP)/mk/boilerplate.mk +SRC_HC_OPTS += -syslib misc + all :: runtest include $(TOP)/mk/target.mk diff --git a/ghc/tests/programs/zhang_ccall/Main.hs b/ghc/tests/programs/zhang_ccall/Main.hs index 1f6de0d..2cfc081 100644 --- a/ghc/tests/programs/zhang_ccall/Main.hs +++ b/ghc/tests/programs/zhang_ccall/Main.hs @@ -1,10 +1,12 @@ +{-# OPTIONS -#include "ccall.h" #-} +-- The 'bug' here was the omission of prototypes for +-- a C function peddling floats. module Main where -import STBase +import IOExts main = putStr (shows res "\n") where - res = unsafePerformPrimIO ( - ca `thenPrimIO` \r -> returnPrimIO r) - ca :: PrimIO Float + res = unsafePerformIO ca + ca :: IO Float ca = _ccall_ nn diff --git a/ghc/tests/programs/zhang_ccall/ccall.h b/ghc/tests/programs/zhang_ccall/ccall.h new file mode 100644 index 0000000..8279c8e --- /dev/null +++ b/ghc/tests/programs/zhang_ccall/ccall.h @@ -0,0 +1 @@ +extern float nn();