[project @ 1999-01-23 18:07:42 by sof]
authorsof <unknown>
Sat, 23 Jan 1999 18:07:59 +0000 (18:07 +0000)
committersof <unknown>
Sat, 23 Jan 1999 18:07:59 +0000 (18:07 +0000)
updates and tweaks

27 files changed:
ghc/tests/programs/andre_monad/Main.hs
ghc/tests/programs/andre_monad/andre_monad.stdout
ghc/tests/programs/barton-mangler-bug/Basic.hs
ghc/tests/programs/cholewo-eval/Arr.lhs
ghc/tests/programs/cholewo-eval/Main.lhs
ghc/tests/programs/cholewo-eval/cholewo-eval.stdout
ghc/tests/programs/dmgob_native1/Main.lhs
ghc/tests/programs/dmgob_native1/Makefile
ghc/tests/programs/dmgob_native1/dmgob_native1.stdout
ghc/tests/programs/dmgob_native1/test_data
ghc/tests/programs/dmgob_native2/Makefile
ghc/tests/programs/dmgob_native2/dmgob_native2.stdout
ghc/tests/programs/dmgob_native2/dmgob_native2.stdout2
ghc/tests/programs/fast2haskell/Fast2haskell.hs
ghc/tests/programs/fast2haskell/Word.hs
ghc/tests/programs/fun_insts/Main.hs
ghc/tests/programs/jules_xref/Main.hs
ghc/tests/programs/jules_xref/jules_xref.stdout
ghc/tests/programs/lex/lex.stdout
ghc/tests/programs/mk/target.mk
ghc/tests/programs/sanders_array/Main.hs
ghc/tests/programs/sanders_array/sanders_array.stdout
ghc/tests/programs/seward-space-leak/Main.lhs
ghc/tests/programs/waugh_neural/BpGen.lhs
ghc/tests/programs/waugh_neural/Makefile
ghc/tests/programs/zhang_ccall/Main.hs
ghc/tests/programs/zhang_ccall/ccall.h [new file with mode: 0644]

index c2226a2..7e3dda6 100644 (file)
@@ -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)
index e975f74..ad240f8 100644 (file)
@@ -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))
index 51a936b..b1f4d80 100644 (file)
@@ -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}
 
 {-
index 0c50141..a730211 100644 (file)
@@ -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}
index 4b01cee..70c36b1 100644 (file)
@@ -33,7 +33,7 @@ blank line, etc.
 >                  let
 >                    vs = readVectors bs
 >                  in
->                  putStr (display vs)
+>                  putStrLn (display vs)
 >
 >       _       -> error " need a binary file name"
 
index 4e94ecb..1df0177 100644 (file)
@@ -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
 
index 5b4a0bc..aa9b4b4 100644 (file)
@@ -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]
+
 
 
index b7ec9fd..7d217a5 100644 (file)
Binary files a/ghc/tests/programs/dmgob_native1/test_data and b/ghc/tests/programs/dmgob_native1/test_data differ
index 5e846e0..d6a976d 100644 (file)
@@ -1,7 +1,7 @@
 TOP = ..
 include $(TOP)/mk/boilerplate.mk
 
-SRC_HC_OPTS += -cpp -syslib hbc
+SRC_HC_OPTS += -cpp -syslib misc
 
 all :: runtest
 
index cd64812..4bfb34b 100644 (file)
Binary files a/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout and b/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout differ
index 97729b0..96dde07 100644 (file)
Binary files a/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout2 and b/ghc/tests/programs/dmgob_native2/dmgob_native2.stdout2 differ
index dc591ba..de3aa0f 100644 (file)
@@ -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;
index 351193e..4c7091c 100644 (file)
@@ -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
index b7f9053..286154c 100644 (file)
@@ -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)))
index 453d7b5..b9126f4 100644 (file)
@@ -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
 
index b92c5a0..8a8af9e 100644 (file)
-("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])
index 1623480..2b98545 100644 (file)
@@ -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",")",""]
index da6ab86..0a73e68 100644 (file)
@@ -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)
index a502652..491a46b 100644 (file)
@@ -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
index dd3e055..d3405a7 100644 (file)
@@ -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)]
index c481597..327118d 100644 (file)
@@ -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 
index 6901c5c..edba27a 100644 (file)
@@ -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                                    |
 -------------------------------------------------------------------------------
index 39dc227..ec143fb 100644 (file)
@@ -1,6 +1,8 @@
 TOP = ..
 include $(TOP)/mk/boilerplate.mk
 
+SRC_HC_OPTS += -syslib misc
+
 all :: runtest
 
 include $(TOP)/mk/target.mk
index 1f6de0d..2cfc081 100644 (file)
@@ -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 (file)
index 0000000..8279c8e
--- /dev/null
@@ -0,0 +1 @@
+extern float nn();