[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / compiler / tests / typecheck / should_succeed / tc080.stderr
1 Typechecked:
2 {- nonrec -}
3 Main.Parse.parseFile =
4     /\ a.t177 ->
5         \{-classdict-} [] [parseFile.t178
6                            parseLine.t179
7                            parse.t180
8                            parseType.t181
9                            forced.t182] -> parseFile.t178
10 Main.Parse.parseLine =
11     /\ a.t177 ->
12         \{-classdict-} [] [parseFile.t178
13                            parseLine.t179
14                            parse.t180
15                            parseType.t181
16                            forced.t182] -> parseLine.t179
17 Main.Parse.parse =
18     /\ a.t177 ->
19         \{-classdict-} [] [parseFile.t178
20                            parseLine.t179
21                            parse.t180
22                            parseType.t181
23                            forced.t182] -> parse.t180
24 Main.Parse.parseType =
25     /\ a.t177 ->
26         \{-classdict-} [] [parseFile.t178
27                            parseLine.t179
28                            parse.t180
29                            parseType.t181
30                            forced.t182] -> parseType.t181
31 Main.Parse.forced =
32     /\ a.t177 ->
33         \{-classdict-} [] [parseFile.t178
34                            parseLine.t179
35                            parse.t180
36                            parseType.t181
37                            forced.t182] -> forced.t182
38 {- nonrec -}
39 defm.Main.Parse.parseFile =
40     let
41       AbsBinds [a.t183] [d.Main.Parse.t184] [(parseFile.t185, parseFile.t186)]
42           (d.Main.Parse.t197, d.Main.Parse.t184)
43           (Main.Parse.parseLine.t193,
44               Main.Parse.parseLine a.t183 d.Main.Parse.t197)
45           (d.Main.Parse.t198, d.Main.Parse.t197)
46           (Main.Parse.forced.t196, Main.Parse.forced a.t183 d.Main.Parse.t198)
47           {- nonrec -}
48           parseFile.t185 :: String -> [a.t183]
49           parseFile.t185
50               string.r23
51                       | (all a.t183) Main.Parse.forced.t196 x.r24 = x.r24
52                       where
53                           AbsBinds [] [] [(x.t189, x.r24)]
54                               {- nonrec -}
55                               x.t189 :: [a.t183]
56                               x.t189
57                                   = (map [String, a.t183])
58                                         Main.Parse.parseLine.t193
59                                         (Main.lines' string.r23)
60                           {- nonrec -}
61     in parseFile.t186
62 defm.Main.Parse.parseLine =
63     let
64       AbsBinds [a.t199] [d.Main.Parse.t200] [(parseLine.t201, parseLine.t202)]
65           (d.Main.Parse.t217, d.Main.Parse.t200)
66           (Main.Parse.parse.t215, Main.Parse.parse a.t199 d.Main.Parse.t217)
67           {- nonrec -}
68           parseLine.t201 :: String -> a.t199
69           parseLine.t201
70               = ((.) [String, (a.t199, String), a.t199])
71                     (pl.r25 [String, a.t199]) Main.Parse.parse.t215
72            where
73               AbsBinds [tt208, tt207] [] [(pl.t204, pl.r25)]
74                   {- nonrec -}
75                   pl.t204 :: (tt207, tt208) -> tt207
76                   pl.t204
77                       (a.r26, _)
78                               = a.r26
79               {- nonrec -}
80     in parseLine.t202
81 defm.Main.Parse.parse =
82     let
83       AbsBinds [a.t218] [d.Main.Parse.t219] [(parse.t220, parse.t221)]
84           (d.Main.Parse.t228, d.Main.Parse.t219)
85           (Main.Parse.parseType.t226,
86               Main.Parse.parseType a.t218 d.Main.Parse.t228)
87           {- nonrec -}
88           parse.t220 :: String -> (a.t218, String)
89           parse.t220
90               = ((.) [String, String, (a.t218, String)])
91                     Main.Parse.parseType.t226 Main.whiteSpace
92     in parse.t221
93 defm.Main.Parse.forced =
94     let
95       AbsBinds [a.t229] [d.Main.Parse.t230] [(forced.t231, forced.t232)]
96           {- nonrec -}
97           forced.t231 :: a.t229 -> Bool
98           forced.t231
99               x.r27 = True
100     in forced.t232
101 defm.Main.Parse.parseType =
102     /\ a.t234 ->
103         \{-dict-} d.Main.Parse.t235 ->
104             (error (String -> (a.t234, String)))
105                 "No default method for \"Main.Parse.defm.Main.Parse.parseType\"\n"
106 {- rec -}
107 dfun.Main.Parse.Char =
108     ({-dict-}
109     []
110     [const.Main.Parse.Char.parseFile,
111      const.Main.Parse.Char.parseLine,
112      const.Main.Parse.Char.parse,
113      const.Main.Parse.Char.parseType,
114      const.Main.Parse.Char.forced])
115 const.Main.Parse.Char.parseType :: String -> (Char, String)
116 const.Main.Parse.Char.parseType
117     (ch.r64 : str.r65)
118             = (ch.r64, str.r65)
119 const.Main.Parse.Char.forced :: Char -> Bool
120 const.Main.Parse.Char.forced
121     n.r66 = True
122 const.Main.Parse.Char.parseFile =
123     defm.Main.Parse.parseFile Char dfun.Main.Parse.Char
124 const.Main.Parse.Char.parseLine =
125     defm.Main.Parse.parseLine Char dfun.Main.Parse.Char
126 const.Main.Parse.Char.parse = defm.Main.Parse.parse Char dfun.Main.Parse.Char
127 {- rec -}
128 dfun.Main.Parse.Int =
129     ({-dict-}
130     []
131     [const.Main.Parse.Int.parseFile,
132      const.Main.Parse.Int.parseLine,
133      const.Main.Parse.Int.parse,
134      const.Main.Parse.Int.parseType,
135      const.Main.Parse.Int.forced])
136 const.Main.Parse.Int.parseType :: String -> (Int, String)
137 const.Main.Parse.Int.parseType
138     str.r67 = (pl.r68 [Char]) ((Main.span' Char) isDigit str.r67)
139             where
140                 AbsBinds [tt135] [] [(pl.t131, pl.r68)]
141                     {- nonrec -}
142                     pl.t131 :: (String, tt135) -> (Int, tt135)
143                     pl.t131
144                         (l.r69, r.r70)
145                                 = (Main.strToInt l.r69, r.r70)
146                 {- nonrec -}
147 const.Main.Parse.Int.forced :: Int -> Bool
148 const.Main.Parse.Int.forced
149     n.r71 | n.r71 >=.t140 lit.t142 = True
150 const.Main.Parse.Int.parseFile =
151     defm.Main.Parse.parseFile Int dfun.Main.Parse.Int
152 const.Main.Parse.Int.parseLine =
153     defm.Main.Parse.parseLine Int dfun.Main.Parse.Int
154 const.Main.Parse.Int.parse = defm.Main.Parse.parse Int dfun.Main.Parse.Int
155 AbsBinds
156 [a.t173]
157 [d.Main.Parse.t145]
158 [(d.Main.Parse.t146, dfun.Main.Parse.List)]
159     (/=.t163, neChar)
160     (d.Main.Parse.t175, d.Main.Parse.t145)
161     (Main.Parse.parseLine.t169, Main.Parse.parseLine a.t173 d.Main.Parse.t175)
162     (d.Main.Parse.t176, d.Main.Parse.t175)
163     (Main.Parse.forced.t174, Main.Parse.forced a.t173 d.Main.Parse.t176)
164     {- rec -}
165     d.Main.Parse.t146 =
166         ({-dict-}
167         []
168         [parseFile.t147, parseLine.t148, parse.t149, parseType.t150, forced.t151])
169     parseType.t150 :: String -> ([a.t173], String)
170     parseType.t150
171         more.r73 = ((map [String, a.t173])
172                         Main.Parse.parseLine.t169
173                         (Main.seperatedBy ',' (((++) Char) l.r74 ",")),
174                     out.r75)
175                  where
176                      AbsBinds [] [] [(l.t155, l.r74), (out.t156, out.r75)]
177                          {- nonrec -}
178                          (l.t155, (']' : out.t156)) :: ([Char], [Char])
179                          (l.t155, (']' : out.t156))
180                              = (Main.span' Char)
181                                    (\ x.r76 -> x.r76 /=.t163 ']')
182                                    ((tail Char) more.r73)
183                      {- nonrec -}
184     forced.t151 :: [a.t173] -> Bool
185     forced.t151 = (all a.t173) Main.Parse.forced.t174
186     parseFile.t147 = defm.Main.Parse.parseFile [a.t173] d.Main.Parse.t146
187     parseLine.t148 = defm.Main.Parse.parseLine [a.t173] d.Main.Parse.t146
188     parse.t149 = defm.Main.Parse.parse [a.t173] d.Main.Parse.t146
189 lit.t87 = MkInt 0#
190 lit.t100 = MkInt 10#
191 lit.t122 = MkInt 1#
192 lit.t142 = lit.t87
193 (>=.t140) = geInt
194 AbsBinds [a.t2] [] [(span'.t1, Main.span')]
195     {- rec -}
196     span'.t1 :: (a.t2 -> Bool) -> [a.t2] -> ([a.t2], [a.t2])
197     span'.t1
198         p.r95 [] = ([] (a.t2), [] (a.t2))
199     span'.t1
200         p.r96 (x.r97 : xs'.r98)
201                 | p.r96 x.r97 =
202                     (fixLeak.r99 [a.t2, [a.t2]]) x.r97 (span'.t1 p.r96 xs'.r98)
203                 where
204                     AbsBinds [tt18, tt17] [] [(fixLeak.t12, fixLeak.r99)]
205                         {- nonrec -}
206                         fixLeak.t12 :: tt18 -> ([tt18], tt17) -> ([tt18], tt17)
207                         fixLeak.t12
208                             x.r100 (xs.r101, ys.r102)
209                                     = (((:) tt18) x.r100 xs.r101, ys.r102)
210                     {- nonrec -}
211     span'.t1
212         _ xs.r103
213                 = ([] (a.t2), xs.r103)
214 AbsBinds [] [] [(seperatedBy.t28, Main.seperatedBy)]
215     (/=.t49, neChar)
216     {- rec -}
217     seperatedBy.t28 :: Char -> String -> [String]
218     seperatedBy.t28
219         ch.r87 []
220                 = [] (String)
221     seperatedBy.t28
222         ch.r88 xs.r89
223                 = twaddle.r90
224                       ch.r88
225                       ((Main.span' Char)
226                            (\ x.r94 -> x.r94 /=.t49 ch.r88)
227                            xs.r89)
228                 where
229                     AbsBinds [] [] [(twaddle.t35, twaddle.r90)]
230                         {- nonrec -}
231                         twaddle.t35 :: Char -> (String, [Char]) -> [String]
232                         twaddle.t35
233                             ch.r91 (l.r92, (_ : r.r93))
234                                     = ((:) String)
235                                           l.r92 (seperatedBy.t28 ch.r91 r.r93)
236                     {- nonrec -}
237 AbsBinds [] [] [(whiteSpace.t52, Main.whiteSpace)]
238     {- nonrec -}
239     whiteSpace.t52 :: String -> String
240     whiteSpace.t52 = (dropWhile Char) isSpace
241 AbsBinds [] [] [(lines'.t55, Main.lines')]
242     (/=.t72, neChar)
243     {- rec -}
244     lines'.t55 :: [Char] -> [[Char]]
245     lines'.t55
246         "" = [] ([Char])
247     lines'.t55
248         s.r104 = plumb.r105 ((Main.span' Char) ((/=.t72) '\n') s.r104)
249                where
250                    AbsBinds [] [] [(plumb.t59, plumb.r105)]
251                        {- nonrec -}
252                        plumb.t59 :: ([Char], [Char]) -> [[Char]]
253                        plumb.t59
254                            (l.r106, s'.r107)
255                                    = ((:) [Char])
256                                          l.r106
257                                          (if (null Char) s'.r107 then
258                                               [] ([Char])
259                                           else
260                                               lines'.t55 ((tail Char) s'.r107))
261                    {- nonrec -}
262 AbsBinds [] [] [(charToInt.t74, Main.charToInt)]
263     (-.t77, minusInt)
264     {- nonrec -}
265     charToInt.t74 :: Char -> Int
266     charToInt.t74
267         x.r113 = (ord x.r113) -.t77 (ord '0')
268 AbsBinds [] [] [(strToInt.t80, Main.strToInt)]
269     (-.t119, minusInt)
270     (d.Integral.t124, dfun.Integral.Int)
271     {- nonrec -}
272     strToInt.t80 :: String -> Int
273     strToInt.t80
274         x.r108 = strToInt'.r109.t117
275                      (((length Char) x.r108) -.t119 lit.t122) x.r108
276                where
277                    AbsBinds
278                    [a.t96]
279                    [d.Integral.t114]
280                    [(strToInt'.t83, strToInt'.r109)]
281                        (d.Real.t115, sdsel.Integral.Real a.t96 d.Integral.t114)
282                        (d.Num.t111, sdsel.Real.Num a.t96 d.Real.t115)
283                        (fromInt.t110, fromInt a.t96 d.Num.t111)
284                        (lit.t107, fromInt.t110 (MkInt 1#))
285                        (d.Num.t112, d.Num.t111)
286                        (-.t105, (-) a.t96 d.Num.t112)
287                        (d.Num.t113, dfun.Num.Int)
288                        (^.t98, (^) [a.t96, Int] [d.Num.t113, d.Integral.t114])
289                        (*.t95, timesInt)
290                        (+.t93, plusInt)
291                        {- rec -}
292                        strToInt'.t83 :: a.t96 -> [Char] -> Int
293                        strToInt'.t83
294                            _ [] = lit.t87
295                        strToInt'.t83
296                            x.r112 (a.r110 : l.r111)
297                                    = ((Main.charToInt a.r110)
298                                       *.t95 (lit.t100 ^.t98 x.r112))
299                                      +.t93 (strToInt'.t83
300                                                 (x.r112 -.t105 lit.t107) l.r111)
301                    {- nonrec -}
302                    strToInt'.r109.t117 = strToInt'.r109 Int d.Integral.t124
303