[project @ 1997-05-26 05:37:13 by sof]
[ghc-hetmet.git] / ghc / compiler / tests / typecheck / should_succeed / tc065.stderr
1
2
3 --================================================================================
4 Typechecked:
5 {- nonrec -}
6 {- nonrec -}
7 Succeeded{-r4G,x-}{i} =
8     _/\_ a{-r8v-} b{-r8w-} -> \ tpl_B1 ->
9         Succeeded{-r4G,x-}{i}
10             {_@_ a{-r8v-} _@_ b{-r8w-} tpl_B1}
11 Failed{-r4F,x-}{i} =
12     _/\_ a{-r8v-} b{-r8w-} -> \ tpl_B1 ->
13         Failed{-r4F,x-}{i}
14             {_@_ a{-r8v-} _@_ b{-r8w-} tpl_B1}
15 {- nonrec -}
16 MkDigraph{-r8L,x-}{i} =
17     _/\_ vertex{-r8G-} -> \ tpl_B1 ->
18         MkDigraph{-r8L,x-}{i}
19             {_@_ vertex{-r8G-} tpl_B1}
20 {- nonrec -}
21 {- rec -}
22 AbsBinds
23 [a{-a1lz-}, b{-a1lA-}]
24 []
25 [([a{-a1lz-}, b{-a1lA-}], $d1{-r1lE,x-}, d.Eval_a1kX)]
26     d.Eval_a1kX =
27         ({-dict-} [] [])
28 {- rec -}
29 AbsBinds
30 [vertex{-a1lB-}]
31 []
32 [([vertex{-a1lB-}], $d2{-r1lS,x-}, d.Eval_a1l3)]
33     d.Eval_a1l3 =
34         ({-dict-} [] [])
35 {- nonrec -}
36 d.Monad_a1l5 =
37     PrelBase.$d24{-rj0,p-}
38 >>=_a1lQ =
39     PrelBase.>>={-811,p-}
40         PrelBase.[]{-3j,p-}
41         d.Monad_a1l5
42 d.Monad_a1l8 =
43     d.Monad_a1l5
44 return_a1lP =
45     PrelBase.return{-816,p-}
46         PrelBase.[]{-3j,p-}
47         d.Monad_a1l8
48 d.MonadZero_a1la =
49     PrelBase.$d23{-riZ,p-}
50 zero_a1lO =
51     PrelBase.zero{-810,p-}
52         PrelBase.[]{-3j,p-}
53         d.MonadZero_a1la
54 d.Functor_a1ld =
55     PrelBase.$d25{-rj1,p-}
56 map_a1lN =
57     PrelBase.map{-rkx,p-}
58         PrelBase.[]{-3j,p-}
59         d.Functor_a1ld
60 d.MonadPlus_a1lg =
61     PrelBase.$d22{-riY,p-}
62 ++_a1lM =
63     PrelBase.++{-rnk,p-}
64         PrelBase.[]{-3j,p-}
65         d.MonadPlus_a1lg
66 >>=_a1lL =
67     >>=_a1lQ
68 return_a1lK =
69     return_a1lP
70 >>=_a1lJ =
71     >>=_a1lQ
72 return_a1lI =
73     return_a1lP
74 >>=_a1lH =
75     >>=_a1lQ
76 return_a1lG =
77     return_a1lP
78 zero_a1lF =
79     zero_a1lO
80 {- nonrec -}
81 AbsBinds
82 [vertex{-a1ba-}]
83 [d.Eq_a1bl]
84 [([vertex{-a1ba-}],
85   isRecursiveCycle{-r6x,x-},
86   isRecursiveCycle_a1b5)]
87     d.Eq_a1bp =
88         d.Eq_a1bl
89     d.Eq_a1bq =
90         d.Eq_a1bl
91     d.Eq_a1bn =
92         PrelTup.$d9{-rEY,p-}
93             [vertex{-a1ba-}, vertex{-a1ba-}]
94             [d.Eq_a1bp, d.Eq_a1bq]
95     elem_a1lT =
96         PrelList.elem{-rF6,p-}
97             (vertex{-a1ba-}, vertex{-a1ba-})
98             d.Eq_a1bn
99     isRecursiveCycle_a1b5
100         [vertex_r8n] edges_r8p
101                 =   (vertex_r8n, vertex_r8n) elem_a1lT edges_r8p
102     isRecursiveCycle_a1b5
103         cycle_r8r edges_r8t
104                 =   PrelBase.True{-5E,p-}{i}
105 {- nonrec -}
106 {- nonrec -}
107 AbsBinds
108 [vertex{-a1bC-}, name{-a1bD-}, code{-a1bE-}]
109 [d.Eq_a1cs, d.Ord_a1ct]
110 [([name{-a1bD-}, vertex{-a1bC-}, code{-a1bE-}],
111   lookupVertex{-r6w,x-},
112   lookupVertex_a1bz)]
113     d.Eq_a1cv =
114         d.Eq_a1cs
115     ==_a1lU =
116         PrelBase.=={-8Y,p-}
117             vertex{-a1bC-}
118             d.Eq_a1cv
119     lookupVertex_a1bz
120         flat_info_r8e vertex_r8g
121                 =   PrelList.head{-rFm,p-}
122                         code{-a1bE-} code_list_r8i
123                 where
124                     {- nonrec -}
125                     AbsBinds [] [] [([], code_list_r8i, code_list_a1bI)]
126                         code_list_a1bI
127                             =   [ code_r8l |
128                                     (vertex'_r8k, _, _, code_r8l) <- flat_info_r8e, vertex_r8g
129                                                                                     ==_a1lU vertex'_r8k
130                                     ]
131                     {- nonrec -}
132 {- nonrec -}
133 {- nonrec -}
134 AbsBinds
135 [vertex{-a1cO-}, name{-a1cR-}, code{-a1cS-}]
136 [d.Eq_a1ei, d.Ord_a1ej]
137 [([name{-a1cR-}, code{-a1cS-}, vertex{-a1cO-}],
138   mkEdges{-r6v,x-},
139   mkEdges_a1cL)]
140     d.Ord_a1ek =
141         d.Ord_a1ej
142     d.MonadZero_a1el =
143         PrelBase.$d23{-riZ,p-}
144     mkEdges_a1cL
145         vertices_r7U flat_info_r7W
146                 =   [ (source_vertex_r87, target_vertex_r8c) |
147                         (source_vertex_r87, _, used_names_r88, _) <- flat_info_r7W, target_name_r8a <- Set.setToList{-rhd,p-}
148                                                                                                            name{-a1cR-} used_names_r88, target_vertex_r8c <- vertices_defining_a1lV target_name_r8a
149                                                                                                                                                                                     flat_info_r7W
150                         ]
151                 where
152                     {- nonrec -}
153                     AbsBinds
154                     [t{-a1d5-}, t{-a1da-}, t{-a1dd-}, a{-a1dg-}, a{-a1di-}]
155                     [d.Ord_a1du, d.MonadZero_a1dA]
156                     [([t{-a1d5-}, t{-a1da-}, t{-a1dd-}, a{-a1dg-}, a{-a1di-}],
157                       vertices_defining_r7Y,
158                       vertices_defining_a1cU)]
159                         d.Monad_a1dw =
160                             PrelBase.scsel_MonadZeroPrelBaseMonad{-a1m0,p-}
161                                 a{-a1dg-}
162                                 d.MonadZero_a1dA
163                         elementOf_a1lZ =
164                             Set.elementOf{-rh5,p-}
165                                 a{-a1di-}
166                                 d.Ord_a1du
167                         >>=_a1lY =
168                             PrelBase.>>={-811,p-}
169                                 a{-a1dg-}
170                                 d.Monad_a1dw
171                         d.Monad_a1dy =
172                             d.Monad_a1dw
173                         return_a1lX =
174                             PrelBase.return{-816,p-}
175                                 a{-a1dg-}
176                                 d.Monad_a1dy
177                         zero_a1lW =
178                             PrelBase.zero{-810,p-}
179                                 a{-a1dg-}
180                                 d.MonadZero_a1dA
181                         vertices_defining_a1cU
182                             name_r80 flat_info_r82
183                                     =   [ vertex_r84 |
184                                             (vertex_r84, names_defined_r85, _, _) <- flat_info_r82, name_r80
185                                                                                                     elementOf_a1lZ names_defined_r85
186                                             ]
187                     {- nonrec -}
188                     vertices_defining_a1lV =
189                         vertices_defining_r7Y
190                             [vertex{-a1cO-}, Set.Set{-rh2,p-} name{-a1cR-}, code{-a1cS-}, PrelBase.[]{-3j,p-}, name{-a1cR-}]
191                             [d.Ord_a1ek, d.MonadZero_a1el]
192 {- nonrec -}
193 {- nonrec -}
194 AbsBinds
195 [vertex{-a1eC-}, name{-a1eD-}, code{-a1eE-}]
196 []
197 [([name{-a1eD-}, code{-a1eE-}, vertex{-a1eC-}],
198   mkVertices{-r6u,x-},
199   mkVertices_a1ez)]
200     mkVertices_a1ez
201         info_r7Q
202                 =   [ vertex_r7S |
203                         (vertex_r7S, _, _, _) <- info_r7Q ]
204 {- nonrec -}
205 {- nonrec -}
206 AbsBinds
207 [vertex{-a1ff-}]
208 [d.Eq_a1fs]
209 [([vertex{-a1ff-}], isCyclic{-r6s,x-}, isCyclic_a1fc)]
210     d.Eq_a1fw =
211         d.Eq_a1fs
212     d.Eq_a1fx =
213         d.Eq_a1fs
214     d.Eq_a1fu =
215         PrelTup.$d9{-rEY,p-}
216             [vertex{-a1ff-}, vertex{-a1ff-}]
217             [d.Eq_a1fw, d.Eq_a1fx]
218     elem_a1m1 =
219         PrelList.elem{-rF6,p-}
220             (vertex{-a1ff-}, vertex{-a1ff-})
221             d.Eq_a1fu
222     isCyclic_a1fc
223         edges_r7w [v_r7y]
224                 =   (v_r7y, v_r7y) elem_a1m1 edges_r7w
225     isCyclic_a1fc
226         edges_r7A vs_r7C
227                 =   PrelBase.True{-5E,p-}{i}
228 {- nonrec -}
229 {- rec -}
230 AbsBinds
231 [t{-a1gi-}]
232 [d.Eq_a1gA]
233 [([t{-a1gi-}], dfs{-r6y,x-}, dfs_a1fz)]
234     elem_a1m2 =
235         PrelList.elem{-rF6,p-}
236             t{-a1gi-}
237             d.Eq_a1gA
238     dfs_a1fz
239         r_r7f (vs_r7h, ns_r7i) PrelBase.[]{-5i,p-}{i}
240                 =   (vs_r7h, ns_r7i)
241     dfs_a1fz
242         r_r7l (vs_r7n, ns_r7o) (x_r7q PrelBase.:{-55,p-}{i} xs_r7r)
243                 | [x_r7q elem_a1m2 vs_r7n] =
244                     dfs_a1fz r_r7l (vs_r7n, ns_r7o) xs_r7r
245                 | [PrelBase.otherwise{-818,p-}] =
246                     dfs_a1fz r_r7l
247                              (vs'_r7t,
248                               ++_a1lM
249                                   t{-a1gi-}
250                                   (PrelBase.:{-55,p-}{i}
251                                        t{-a1gi-}
252                                        x_r7q ns'_r7u)
253                                   ns_r7o)
254                              xs_r7r
255                 where
256                     {- nonrec -}
257                     AbsBinds [] [] [([], vs'_r7t, vs'_a1g4), ([], ns'_r7u, ns'_a1g5)]
258                         (vs'_a1g4, ns'_a1g5)
259                             =   dfs_a1fz r_r7l
260                                          (PrelBase.:{-55,p-}{i}
261                                               t{-a1gi-}
262                                               x_r7q vs_r7n,
263                                           PrelBase.[]{-5i,p-}{i}
264                                               t{-a1gi-})
265                                          r_r7l x_r7q
266                     {- nonrec -}
267 {- nonrec -}
268 {- nonrec -}
269 AbsBinds
270 [vertex{-a1gK-}]
271 [d.Eq_a1ju]
272 [([vertex{-a1gK-}],
273   stronglyConnComp{-r6r,x-},
274   stronglyConnComp_a1gH)]
275     d.Eq_a1jv =
276         d.Eq_a1ju
277     d.Eq_a1jq =
278         d.Eq_a1ju
279     d.Eq_a1jx =
280         d.Eq_a1ju
281     dfs_a1m3 =
282         dfs{-r6y,x-}
283             vertex{-a1gK-}
284             d.Eq_a1jx
285     d.Eq_a1jr =
286         d.Eq_a1ju
287     stronglyConnComp_a1gH
288         es_r6B vs_r6D
289                 =   PrelTup.snd{-rF4,p-}
290                         [[vertex{-a1gK-}], [[vertex{-a1gK-}]]] span_tree_a1m4 new_range_a1m6 reversed_edges_r6F
291                                                                               (PrelBase.[]{-5i,p-}{i}
292                                                                                    vertex{-a1gK-},
293                                                                                PrelBase.[]{-5i,p-}{i}
294                                                                                    [vertex{-a1gK-}])
295                                                                               PrelTup.snd{-rF4,p-}
296                                                                                   [[vertex{-a1gK-}], [vertex{-a1gK-}]] dfs_a1m3 new_range_a1m5 es_r6B
297                                                                                                                                 (PrelBase.[]{-5i,p-}{i}
298                                                                                                                                      vertex{-a1gK-},
299                                                                                                                                  PrelBase.[]{-5i,p-}{i}
300                                                                                                                                      vertex{-a1gK-})
301                                                                                                                                 vs_r6D
302                 where
303                     {- rec -}
304                     AbsBinds
305                     [t{-a1h2-}]
306                     [d.Eq_a1hJ]
307                     [([t{-a1h2-}], span_tree_r6I, span_tree_a1gO)]
308                         elem_a1m8 =
309                             PrelList.elem{-rF6,p-}
310                                 t{-a1h2-}
311                                 d.Eq_a1hJ
312                         d.Eq_a1hL =
313                             d.Eq_a1hJ
314                         dfs_a1m7 =
315                             dfs{-r6y,x-}
316                                 t{-a1h2-}
317                                 d.Eq_a1hL
318                         span_tree_a1gO
319                             r_r6Y (vs_r70, ns_r71) PrelBase.[]{-5i,p-}{i}
320                                     =   (vs_r70, ns_r71)
321                         span_tree_a1gO
322                             r_r74 (vs_r76, ns_r77) (x_r79 PrelBase.:{-55,p-}{i} xs_r7a)
323                                     | [x_r79 elem_a1m8 vs_r76] =
324                                         span_tree_a1gO r_r74 (vs_r76, ns_r77) xs_r7a
325                                     | [PrelBase.otherwise{-818,p-}] =
326                                         span_tree_a1gO r_r74
327                                                        (vs'_r7c,
328                                                         PrelBase.:{-55,p-}{i}
329                                                             [t{-a1h2-}]
330                                                             (PrelBase.:{-55,p-}{i}
331                                                                  t{-a1h2-}
332                                                                  x_r79 ns'_r7d)
333                                                             ns_r77)
334                                                        xs_r7a
335                                     where
336                                         {- nonrec -}
337                                         AbsBinds
338                                         []
339                                         []
340                                         [([], vs'_r7c, vs'_a1hj), ([], ns'_r7d, ns'_a1hk)]
341                                             (vs'_a1hj, ns'_a1hk)
342                                                 =   dfs_a1m7 r_r74
343                                                              (PrelBase.:{-55,p-}{i}
344                                                                   t{-a1h2-}
345                                                                   x_r79 vs_r76,
346                                                               PrelBase.[]{-5i,p-}{i}
347                                                                   t{-a1h2-})
348                                                              r_r74 x_r79
349                                         {- nonrec -}
350                     {- nonrec -}
351                     span_tree_a1m4 =
352                         span_tree_r6I
353                             vertex{-a1gK-}
354                             d.Eq_a1jv
355                     {- rec -}
356                     AbsBinds
357                     [t{-a1hV-}, t{-a1i0-}]
358                     [d.Eq_a1ig]
359                     [([t{-a1hV-}, t{-a1i0-}], new_range_r6H, new_range_a1hN)]
360                         ==_a1m9 =
361                             PrelBase.=={-8Y,p-}
362                                 t{-a1i0-}
363                                 d.Eq_a1ig
364                         new_range_a1hN
365                             PrelBase.[]{-5i,p-}{i} w_r6Q
366                                     =   PrelBase.[]{-5i,p-}{i}
367                                             t{-a1hV-}
368                         new_range_a1hN
369                             ((x_r6S, y_r6T) PrelBase.:{-55,p-}{i} xys_r6U) w_r6W
370                                     =   if x_r6S ==_a1m9 w_r6W then
371                                             PrelBase.:{-55,p-}{i}
372                                                 t{-a1hV-}
373                                                 y_r6T (new_range_a1hN xys_r6U w_r6W)
374                                         else
375                                             new_range_a1hN xys_r6U w_r6W
376                     {- nonrec -}
377                     new_range_a1m6 =
378                         new_range_r6H
379                             [vertex{-a1gK-}, vertex{-a1gK-}]
380                             d.Eq_a1jq
381                     new_range_a1m5 =
382                         new_range_r6H
383                             [vertex{-a1gK-}, vertex{-a1gK-}]
384                             d.Eq_a1jr
385                     {- nonrec -}
386                     AbsBinds [v{-a1iv-}] [] [([v{-a1iv-}], swap_r6G, swap_a1im)]
387                         swap_a1im
388                             (x_r6M, y_r6N)
389                                     =   (y_r6N, x_r6M)
390                     {- nonrec -}
391                     {- nonrec -}
392                     AbsBinds [] [] [([], reversed_edges_r6F, reversed_edges_a1iy)]
393                         reversed_edges_a1iy
394                             =   map_a1lN
395                                     [Edge{-r8K,x-} vertex{-a1gK-}, Edge{-r8K,x-} vertex{-a1gK-}] swap_r6G
396                                                                                                      vertex{-a1gK-}
397                                                                                                  es_r6B
398                     {- nonrec -}
399 {- nonrec -}
400 {- nonrec -}
401 AbsBinds
402 [vertex{-a1jI-}]
403 [d.Eq_a1kA]
404 [([vertex{-a1jI-}], topSort{-r6t,x-}, topSort_a1jF)]
405     d.Eq_a1kI =
406         d.Eq_a1kA
407     isCyclic_a1mb =
408         isCyclic{-r6s,x-}
409             vertex{-a1jI-}
410             d.Eq_a1kI
411     d.Eq_a1kK =
412         d.Eq_a1kA
413     stronglyConnComp_a1ma =
414         stronglyConnComp{-r6r,x-}
415             vertex{-a1jI-}
416             d.Eq_a1kK
417     topSort_a1jF
418         edges_r7E vertices_r7G
419                 =   case cycles_r7J of
420                       PrelBase.[]{-5i,p-}{i}
421                               ->  Succeeded{-r4G,x-}{i}
422                                       [[vertex{-a1jI-}], [[vertex{-a1jI-}]]] [ v_r7N |
423                                                                                  [v_r7N] <- singletons_r7K
424                                                                                  ]
425                       _       ->  Failed{-r4F,x-}{i}
426                                       [[vertex{-a1jI-}], [[vertex{-a1jI-}]]] cycles_r7J
427                 where
428                     {- nonrec -}
429                     AbsBinds [] [] [([], sccs_r7I, sccs_a1jM)]
430                         sccs_a1jM
431                             =   stronglyConnComp_a1ma edges_r7E vertices_r7G
432                     {- nonrec -}
433                     {- nonrec -}
434                     AbsBinds
435                     []
436                     []
437                     [([], cycles_r7J, cycles_a1jT), ([],
438                                                      singletons_r7K,
439                                                      singletons_a1jU)]
440                         (cycles_a1jT, singletons_a1jU)
441                             =   List.partition{-rhM,p-}
442                                     [vertex{-a1jI-}] isCyclic_a1mb edges_r7E sccs_r7I
443                     {- nonrec -}
444 {- nonrec -}
445 {- nonrec -}
446 AbsBinds
447 [vertex{-a1kQ-}]
448 []
449 [([vertex{-a1kQ-}], mkDigraph{-r6z,x-}, mkDigraph_a1kM)]
450     mkDigraph_a1kM
451         =   MkDigraph{-r8L,x-}{i}
452                 vertex{-a1kQ-}
453 {- nonrec -}
454 ghc: module version changed to 1; reason: no old .hi file
455 _interface_ Digraphs 1
456 _instance_modules_
457 ArrBase Foreign IO PrelNum
458 _usages_
459 List 1 :: partition 1;
460 PrelBase 1 :: $d14 1 $d15 1 $d22 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d32 1 $d34 1 $d37 1 $d39 1 $d41 1 $d44 1 $d45 1 $d46 1 $d49 1 $d51 1 $d6 1 $d7 1 otherwise 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadPlus 1 MonadZero 1 Ord 1 Ordering 1;
461 PrelList 1 :: elem 1 head 1;
462 PrelNum 1 :: $d17 1 $d18 1;
463 PrelTup 1 :: $d11 1 $d13 1 $d15 1 $d49 1 $d51 1 $d9 1 snd 1;
464 Set 2 :: $d1 2 elementOf 2 setToList 2 Set 1;
465 _exports_
466 Digraphs dfs isCyclic isRecursiveCycle lookupVertex mkDigraph mkEdges mkVertices stronglyConnComp topSort Cycle Digraph(MkDigraph) Edge FlattenedDependencyInfo MaybeErr(Succeeded Failed);
467 _instances_
468 instance _forall_ [a b] => {PrelBase.Eval (MaybeErr a b)} = $d1;
469 instance _forall_ [a] => {PrelBase.Eval (Digraph a)} = $d2;
470 _declarations_
471 1 $d1 _:_ _forall_ [a b] => {PrelBase.Eval (MaybeErr a b)} ;;
472 1 $d2 _:_ _forall_ [a] => {PrelBase.Eval (Digraph a)} ;;
473 1 type Cycle r8C = [r8C] ;
474 1 data Digraph r8G = MkDigraph [r8G] ;
475 1 type Edge r8E = (r8E, r8E) ;
476 1 type FlattenedDependencyInfo r8y r8z r8A = [(r8y, Set.Set r8z, Set.Set r8z, r8A)] ;
477 1 data MaybeErr r8v r8w = Succeeded r8v |  Failed r8w ;
478 1 dfs _:_ _forall_ [a] {PrelBase.Eq a} => (a -> [a]) -> ([a], [a]) -> [a] -> ([a], [a]) ;;
479 1 isCyclic _:_ _forall_ [a] {PrelBase.Eq a} => [Edge a] -> [a] -> PrelBase.Bool ;;
480 1 isRecursiveCycle _:_ _forall_ [a] {PrelBase.Eq a} => Cycle a -> [Edge a] -> PrelBase.Bool ;;
481 1 lookupVertex _:_ _forall_ [a b c] {PrelBase.Eq b, PrelBase.Ord a} => FlattenedDependencyInfo b a c -> b -> c ;;
482 1 mkDigraph _:_ _forall_ [a] => [a] -> Digraph a ;;
483 1 mkEdges _:_ _forall_ [a b c] {PrelBase.Eq c, PrelBase.Ord a} => [c] -> FlattenedDependencyInfo c a b -> [Edge c] ;;
484 1 mkVertices _:_ _forall_ [a b c] => FlattenedDependencyInfo c a b -> [c] ;;
485 1 stronglyConnComp _:_ _forall_ [a] {PrelBase.Eq a} => [Edge a] -> [a] -> [[a]] ;;
486 1 topSort _:_ _forall_ [a] {PrelBase.Eq a} => [Edge a] -> [a] -> MaybeErr [a] [[a]] ;;