[project @ 1997-09-05 14:11:05 by simonm]
[ghc-hetmet.git] / ghc / tests / typecheck / should_compile / tc065.stderr
1
2
3 ================================================================================
4 Typechecked:
5 Succeeded{-rd,x-}{i} =
6     _/\_ a_tr8i b_tr8j -> \ tpl_B1 ->
7         Succeeded{-rd,x-}{i} {_@_ a_tr8i _@_ b_tr8j tpl_B1}
8 Failed{-rc,x-}{i} =
9     _/\_ a_tr8i b_tr8j -> \ tpl_B1 ->
10         Failed{-rc,x-}{i} {_@_ a_tr8i _@_ b_tr8j tpl_B1}
11 MkDigraph{-r8z,x-}{i} =
12     _/\_ vertex_tr8t -> \ tpl_B1 ->
13         MkDigraph{-r8z,x-}{i} {_@_ vertex_tr8t tpl_B1}
14 AbsBinds
15 [ta14c]
16 [d.Eq_a14r]
17 [([ta14c], isRecursiveCycle{-r6D,x-}, isRecursiveCycle_a147)]
18     d.Eq_a14v = d.Eq_a14r
19     d.Eq_a14w = d.Eq_a14r
20     d.Eq_a14t =
21         PrelTup.$d9{-rDa,p-} [ta14c, ta14c] [d.Eq_a14v, d.Eq_a14w]
22     elem_a1gA = PrelList.elem{-rDi,p-} (ta14c, ta14c) d.Eq_a14t
23     isRecursiveCycle_a147 [vertex_r8c] edges_r8d
24                           = (vertex_r8c, vertex_r8c) elem_a1gA edges_r8d
25     isRecursiveCycle_a147 cycle_r8f edges_r8g
26                           = PrelBase.True{-5E,w-}{i}
27 AbsBinds
28 [ta14I, ta14J, ta14K]
29 [d.Eq_a15B, d.Ord_a15C]
30 [([ta14J, ta14I, ta14K], lookupVertex{-r6C,x-}, lookupVertex_a14F)]
31     d.Eq_a15E = d.Eq_a15B
32     ==_a1gB = PrelBase.=={-8Y,p-} ta14I d.Eq_a15E
33     lookupVertex_a14F flat_info_r84 vertex_r85
34                       = PrelList.head{-rEs,p-} ta14K code_list_r87
35                       where
36                           {- nonrec -}
37                           AbsBinds [] [] [([], code_list_r87, code_list_a14O)]
38                               code_list_a14O
39                                   = [code_r8a |
40                                          (vertex'_r89, _, _, code_r8a) <- flat_info_r84, vertex_r85
41                                                                                          ==_a1gB vertex'_r89]
42                           {- nonrec -}
43                           {- nonrec -}
44 AbsBinds
45 [ta15X, ta160, ta161]
46 [d.Eq_a17I, d.Ord_a17J]
47 [([ta160, ta161, ta15X], mkEdges{-r6B,x-}, mkEdges_a15U)]
48     d.Ord_a17F = d.Ord_a17J
49     d.MonadZero_a17G = PrelBase.$d24{-ri3,p-}
50     mkEdges_a15U vertices_r7M flat_info_r7N
51                  = [(source_vertex_r7X, target_vertex_r82) |
52                         (source_vertex_r7X, _, used_names_r7Y, _) <- flat_info_r7N, target_name_r80 <- Set.setToList{-rge,p-}
53                                                                                                            ta160 used_names_r7Y, target_vertex_r82 <- vertices_defining_a1gC target_name_r80
54                                                                                                                                                                              flat_info_r7N]
55                  where
56                      {- nonrec -}
57                      AbsBinds
58                      [ta16m, ta16r, ta16u, aa16w, ta16z]
59                      [d.Ord_a16M, d.MonadZero_a16S]
60                      [([ta16m, ta16r, ta16u, aa16w, ta16z],
61                        vertices_defining_r7P,
62                        vertices_defining_a163)]
63                          d.Monad_a16O =
64                              PrelBase.scsel_MonadZeroPrelBaseMonad{-a1gH,p-} aa16w
65                                  d.MonadZero_a16S
66                          elementOf_a1gD = Set.elementOf{-rg7,p-} ta16z d.Ord_a16M
67                          >>=_a1gE = PrelBase.>>={-811,p-} aa16w d.Monad_a16O
68                          d.Monad_a16Q = d.Monad_a16O
69                          return_a1gF = PrelBase.return{-816,p-} aa16w d.Monad_a16Q
70                          zero_a1gG = PrelBase.zero{-810,p-} aa16w d.MonadZero_a16S
71                          vertices_defining_a163 name_r7R flat_info_r7S
72                                                 = [vertex_r7U |
73                                                        (vertex_r7U, names_defined_r7V, _, _) <- flat_info_r7S, name_r7R
74                                                                                                                elementOf_a1gD names_defined_r7V]
75                      {- nonrec -}
76                      vertices_defining_a1gC =
77                          vertices_defining_r7P
78                              [ta15X, Set.Set{-rg4,p-} ta160, ta161, PrelBase.[]{-3j,W-}, ta160]
79                              [d.Ord_a17F, d.MonadZero_a17G]
80                      {- nonrec -}
81 AbsBinds
82 [ta180, ta181, ta182]
83 []
84 [([ta181, ta182, ta180], mkVertices{-r6A,x-}, mkVertices_a17X)]
85     mkVertices_a17X info_r7I
86                     = [vertex_r7K | (vertex_r7K, _, _, _) <- info_r7I]
87 AbsBinds
88 [ta18F]
89 [d.Eq_a18W]
90 [([ta18F], isCyclic{-r6y,x-}, isCyclic_a18C)]
91     d.Eq_a190 = d.Eq_a18W
92     d.Eq_a191 = d.Eq_a18W
93     d.Eq_a18Y =
94         PrelTup.$d9{-rDa,p-} [ta18F, ta18F] [d.Eq_a190, d.Eq_a191]
95     elem_a1gI = PrelList.elem{-rDi,p-} (ta18F, ta18F) d.Eq_a18Y
96     isCyclic_a18C edges_r7r [v_r7s]
97                   = (v_r7s, v_r7s) elem_a1gI edges_r7r
98     isCyclic_a18C edges_r7u vs_r7v = PrelBase.True{-5E,w-}{i}
99 AbsBinds [ta1au] [d.Eq_a1aw] [([ta1au], dfs{-r6F,x-}, dfs_a193)]
100     elem_a1gJ = PrelList.elem{-rDi,p-} ta1au d.Eq_a1aw
101     dfs_a193 r_r7e (vs_r7f, ns_r7g) PrelBase.[]{-5i,w-}{i}
102              = (vs_r7f, ns_r7g)
103     dfs_a193 r_r7i
104              (vs_r7j, ns_r7k)
105              (x_r7l PrelBase.:{-55,w-}{i} xs_r7m)
106              | x_r7l elem_a1gJ vs_r7j = dfs_a193 r_r7i (vs_r7j, ns_r7k) xs_r7m
107              | PrelBase.otherwise{-818,p-}
108              = dfs_a193 r_r7i
109                         (vs'_r7o,
110                          ++_a1gs ta1au (PrelBase.:{-55,w-}{i} ta1au x_r7l ns'_r7p) ns_r7k)
111                         xs_r7m
112              where
113                  {- nonrec -}
114                  AbsBinds [] [] [([], vs'_r7o, vs'_a19M), ([], ns'_r7p, ns'_a19N)]
115                      (vs'_a19M, ns'_a19N)
116                          = dfs_a193 r_r7i
117                                     (PrelBase.:{-55,w-}{i} ta1au x_r7l vs_r7j,
118                                      PrelBase.[]{-5i,w-}{i} ta1au)
119                                     r_r7i x_r7l
120                  {- nonrec -}
121                  {- nonrec -}
122 AbsBinds
123 [ta1aG]
124 [d.Eq_a1eb]
125 [([ta1aG], stronglyConnComp{-r6x,x-}, stronglyConnComp_a1aD)]
126     d.Eq_a1e9 = d.Eq_a1eb
127     d.Eq_a1e6 = d.Eq_a1eb
128     d.Eq_a1ed = d.Eq_a1eb
129     dfs_a1gK = dfs{-r6F,x-} ta1aG d.Eq_a1ed
130     d.Eq_a1e7 = d.Eq_a1eb
131     stronglyConnComp_a1aD es_r6H vs_r6I
132                           = PrelTup.snd{-rDg,p-}
133                                 [[ta1aG], [[ta1aG]]] span_tree_a1gL new_range_a1gM reversed_edges_r6K
134                                                                     (PrelBase.[]{-5i,w-}{i} ta1aG,
135                                                                      PrelBase.[]{-5i,w-}{i} [ta1aG])
136                                                                     PrelTup.snd{-rDg,p-}
137                                                                         [[ta1aG], [ta1aG]] dfs_a1gK new_range_a1gN es_r6H
138                                                                                                     (PrelBase.[]{-5i,w-}{i}
139                                                                                                          ta1aG,
140                                                                                                      PrelBase.[]{-5i,w-}{i}
141                                                                                                          ta1aG)
142                                                                                                     vs_r6I
143                           where
144                               {- rec -}
145                               AbsBinds
146                               [ta1c5]
147                               [d.Eq_a1c7]
148                               [([ta1c5], span_tree_r6N, span_tree_a1aK)]
149                                   elem_a1gO = PrelList.elem{-rDi,p-} ta1c5 d.Eq_a1c7
150                                   d.Eq_a1c9 = d.Eq_a1c7
151                                   dfs_a1gP = dfs{-r6F,x-} ta1c5 d.Eq_a1c9
152                                   span_tree_a1aK r_r71 (vs_r72, ns_r73) PrelBase.[]{-5i,w-}{i}
153                                                  = (vs_r72, ns_r73)
154                                   span_tree_a1aK r_r75
155                                                  (vs_r76, ns_r77)
156                                                  (x_r78 PrelBase.:{-55,w-}{i} xs_r79)
157                                                  | x_r78 elem_a1gO vs_r76
158                                                  = span_tree_a1aK r_r75 (vs_r76, ns_r77) xs_r79
159                                                  | PrelBase.otherwise{-818,p-}
160                                                  = span_tree_a1aK r_r75
161                                                                   (vs'_r7b,
162                                                                    PrelBase.:{-55,w-}{i} [ta1c5]
163                                                                        (PrelBase.:{-55,w-}{i} ta1c5
164                                                                             x_r78 ns'_r7c)
165                                                                        ns_r77)
166                                                                   xs_r79
167                                                  where
168                                                      {- nonrec -}
169                                                      AbsBinds
170                                                      []
171                                                      []
172                                                      [([], vs'_r7b, vs'_a1bt), ([],
173                                                                                 ns'_r7c,
174                                                                                 ns'_a1bu)]
175                                                          (vs'_a1bt, ns'_a1bu)
176                                                              = dfs_a1gP r_r75
177                                                                         (PrelBase.:{-55,w-}{i} ta1c5
178                                                                              x_r78 vs_r76,
179                                                                          PrelBase.[]{-5i,w-}{i}
180                                                                              ta1c5)
181                                                                         r_r75 x_r78
182                                                      {- nonrec -}
183                                                      {- nonrec -}
184                               {- nonrec -}
185                               span_tree_a1gL = span_tree_r6N ta1aG d.Eq_a1e9
186                               {- nonrec -}
187                               {- rec -}
188                               AbsBinds
189                               [ta1cF, ta1cI]
190                               [d.Eq_a1cK]
191                               [([ta1cF, ta1cI], new_range_r6M, new_range_a1cb)]
192                                   ==_a1gQ = PrelBase.=={-8Y,p-} ta1cF d.Eq_a1cK
193                                   new_range_a1cb PrelBase.[]{-5i,w-}{i} w_r6U
194                                                  = PrelBase.[]{-5i,w-}{i} ta1cI
195                                   new_range_a1cb ((x_r6W, y_r6X) PrelBase.:{-55,w-}{i} xys_r6Y)
196                                                  w_r6Z
197                                                  = if x_r6W ==_a1gQ w_r6Z then
198                                                        PrelBase.:{-55,w-}{i} ta1cI
199                                                            y_r6X (new_range_a1cb xys_r6Y w_r6Z)
200                                                    else
201                                                        new_range_a1cb xys_r6Y w_r6Z
202                               {- nonrec -}
203                               new_range_a1gM = new_range_r6M [ta1aG, ta1aG] d.Eq_a1e6
204                               new_range_a1gN = new_range_r6M [ta1aG, ta1aG] d.Eq_a1e7
205                               {- nonrec -}
206                               {- nonrec -}
207                               AbsBinds [ta1cZ] [] [([ta1cZ], swap_r6L, swap_a1cQ)]
208                                   swap_a1cQ (x_r6R, y_r6S) = (y_r6S, x_r6R)
209                               {- nonrec -}
210                               {- nonrec -}
211                               {- nonrec -}
212                               AbsBinds [] [] [([], reversed_edges_r6K, reversed_edges_a1d6)]
213                                   reversed_edges_a1d6
214                                       = map_a1gr [Edge{-r8x,x-} ta1aG, Edge{-r8x,x-} ta1aG] swap_r6L
215                                                                                                 ta1aG
216                                                                                             es_r6H
217                               {- nonrec -}
218                               {- nonrec -}
219 AbsBinds
220 [ta1eo]
221 [d.Eq_a1fh]
222 [([ta1eo], topSort{-r6z,x-}, topSort_a1el)]
223     d.Eq_a1fp = d.Eq_a1fh
224     isCyclic_a1gR = isCyclic{-r6y,x-} ta1eo d.Eq_a1fp
225     d.Eq_a1fr = d.Eq_a1fh
226     stronglyConnComp_a1gS = stronglyConnComp{-r6x,x-} ta1eo d.Eq_a1fr
227     topSort_a1el edges_r7x vertices_r7y
228                  = case cycles_r7B of
229                      PrelBase.[]{-5i,w-}{i}
230                      -> Succeeded{-rd,x-}{i} [[ta1eo], [[ta1eo]]] [v_r7F |
231                                                                        [v_r7F] <- singletons_r7C]
232                      _ -> Failed{-rc,x-}{i} [[ta1eo], [[ta1eo]]] cycles_r7B
233                  where
234                      {- nonrec -}
235                      AbsBinds [] [] [([], sccs_r7A, sccs_a1es)]
236                          sccs_a1es = stronglyConnComp_a1gS edges_r7x vertices_r7y
237                      {- nonrec -}
238                      {- nonrec -}
239                      {- nonrec -}
240                      AbsBinds
241                      []
242                      []
243                      [([], cycles_r7B, cycles_a1ez), ([],
244                                                       singletons_r7C,
245                                                       singletons_a1eA)]
246                          (cycles_a1ez, singletons_a1eA)
247                              = List.partition{-rhs,p-} [ta1eo] isCyclic_a1gR edges_r7x sccs_r7A
248                      {- nonrec -}
249                      {- nonrec -}
250 AbsBinds [ta1fx] [] [([ta1fx], mkDigraph{-r6E,x-}, mkDigraph_a1ft)]
251     mkDigraph_a1ft = MkDigraph{-r8z,x-}{i} ta1fx
252 AbsBinds
253 [ta1g2, ta1g3]
254 []
255 [([ta1g2, ta1g3], $d1{-r1gl,x-}, d.Eval_a1fE)]
256     d.Eval_a1fE = ({-dict-} [] [])
257 AbsBinds [ta1g4] [] [([ta1g4], $d2{-r1gn,x-}, d.Eval_a1fK)]
258     d.Eval_a1fK = ({-dict-} [] [])
259 d.Monad_a1fM = PrelBase.$d25{-ri4,p-}
260 >>=_a1go = PrelBase.>>={-811,p-} PrelBase.[]{-3j,W-} d.Monad_a1fM
261 d.Monad_a1fP = d.Monad_a1fM
262 return_a1gp =
263     PrelBase.return{-816,p-} PrelBase.[]{-3j,W-} d.Monad_a1fP
264 d.MonadZero_a1fR = PrelBase.$d24{-ri3,p-}
265 zero_a1gq =
266     PrelBase.zero{-810,p-} PrelBase.[]{-3j,W-} d.MonadZero_a1fR
267 d.Functor_a1fU = PrelBase.$d26{-ri5,p-}
268 map_a1gr = PrelBase.map{-rn5,p-} PrelBase.[]{-3j,W-} d.Functor_a1fU
269 d.MonadPlus_a1fX = PrelBase.$d23{-ri2,p-}
270 ++_a1gs = PrelBase.++{-rn8,p-} PrelBase.[]{-3j,W-} d.MonadPlus_a1fX
271 >>=_a1gt = >>=_a1go
272 return_a1gu = return_a1gp
273 >>=_a1gv = >>=_a1go
274 return_a1gw = return_a1gp
275 >>=_a1gx = >>=_a1go
276 return_a1gy = return_a1gp
277 zero_a1gz = zero_a1gq
278 ghc: module version changed to 1; reason: no old .hi file
279 _interface_ ShouldSucceed 1
280 _instance_modules_
281 ArrBase IO PrelNum
282 _usages_
283 List 1 :: partition 1;
284 PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d33 1 $d35 1 $d38 1 $d40 1 $d42 1 $d45 1 $d46 1 $d47 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mmax 1 $mmin 1 otherwise 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadPlus 1 MonadZero 1 Ord 1 Ordering 1;
285 PrelList 1 :: elem 1 head 1;
286 PrelNum 1 :: $d17 1 $d18 1;
287 PrelTup 1 :: $d11 1 $d13 1 $d15 1 $d49 1 $d51 1 $d9 1 snd 1;
288 Set 1 :: $d1 1 $d2 1 elementOf 1 setToList 1 Set 1;
289 _exports_
290 ShouldSucceed dfs isCyclic isRecursiveCycle lookupVertex mkDigraph mkEdges mkVertices stronglyConnComp topSort Cycle Digraph(MkDigraph) Edge FlattenedDependencyInfo MaybeErr(Succeeded Failed);
291 _instances_
292 instance _forall_ [a b] => {PrelBase.Eval (MaybeErr a b)} = $d1;
293 instance _forall_ [vertex] => {PrelBase.Eval (Digraph vertex)} = $d2;
294 _declarations_
295 1 $d1 _:_ _forall_ [a b] => {PrelBase.Eval (MaybeErr a b)} ;;
296 1 $d2 _:_ _forall_ [vertex] => {PrelBase.Eval (Digraph vertex)} ;;
297 1 type Cycle vertex = [vertex] ;
298 1 data Digraph vertex = MkDigraph [vertex] ;
299 1 type Edge vertex = (vertex, vertex) ;
300 1 type FlattenedDependencyInfo vertex name code = [(vertex, Set.Set name, Set.Set name, code)] ;
301 1 data MaybeErr a b = Succeeded a |  Failed b ;
302 1 dfs _:_ _forall_ [ta] {PrelBase.Eq ta} => (ta -> [ta]) -> ([ta], [ta]) -> [ta] -> ([ta], [ta]) ;;
303 1 isCyclic _:_ _forall_ [ta] {PrelBase.Eq ta} => [Edge ta] -> [ta] -> PrelBase.Bool ;;
304 1 isRecursiveCycle _:_ _forall_ [ta] {PrelBase.Eq ta} => Cycle ta -> [Edge ta] -> PrelBase.Bool ;;
305 1 lookupVertex _:_ _forall_ [ta tb tc] {PrelBase.Eq tb, PrelBase.Ord ta} => FlattenedDependencyInfo tb ta tc -> tb -> tc ;;
306 1 mkDigraph _:_ _forall_ [ta] => [ta] -> Digraph ta ;;
307 1 mkEdges _:_ _forall_ [ta tb tc] {PrelBase.Eq tc, PrelBase.Ord ta} => [tc] -> FlattenedDependencyInfo tc ta tb -> [Edge tc] ;;
308 1 mkVertices _:_ _forall_ [ta tb tc] => FlattenedDependencyInfo tc ta tb -> [tc] ;;
309 1 stronglyConnComp _:_ _forall_ [ta] {PrelBase.Eq ta} => [Edge ta] -> [ta] -> [[ta]] ;;
310 1 topSort _:_ _forall_ [ta] {PrelBase.Eq ta} => [Edge ta] -> [ta] -> MaybeErr [ta] [[ta]] ;;