summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-05-03 15:37:02 +0200
committerPéter Diviánszky <divipp@gmail.com>2016-05-03 15:37:02 +0200
commit57d10e734217c6eeaaec61131861bfd2861a4eb0 (patch)
tree1ced06f37ea0902999341ea80bc646cdba7e5db4 /testdata
parentced2bb3b8d35d0e2faa21adeff04607a2174ae99 (diff)
fix pretty print parens
Diffstat (limited to 'testdata')
-rw-r--r--testdata/Builtins.out530
-rw-r--r--testdata/Internals.out80
-rw-r--r--testdata/Material.out128
-rw-r--r--testdata/Prelude.out172
-rw-r--r--testdata/ambig.out6
-rw-r--r--testdata/complex.out48
-rw-r--r--testdata/data.out40
-rw-r--r--testdata/language-features/basic-list/listcomp01.out2
-rw-r--r--testdata/language-features/basic-list/listcomp02.out2
-rw-r--r--testdata/language-features/basic-list/listcomp03.out2
-rw-r--r--testdata/language-features/basic-list/listcomp04.out2
-rw-r--r--testdata/language-features/basic-list/listcomp05.out2
-rw-r--r--testdata/language-features/basic-list/listcomp06.out10
-rw-r--r--testdata/language-features/basic-list/listcomp07.out18
-rw-r--r--testdata/language-features/basic-list/listcomp09.out3
-rw-r--r--testdata/language-features/basic-values/case02.out6
-rw-r--r--testdata/language-features/basic-values/case05.out2
-rw-r--r--testdata/language-features/basic-values/case06.out2
-rw-r--r--testdata/language-features/basic-values/def03.out4
-rw-r--r--testdata/language-features/basic-values/def04.out8
-rw-r--r--testdata/language-features/basic-values/where05.out14
-rw-r--r--testdata/language-features/guard/guard01.out2
-rw-r--r--testdata/language-features/guard/guard03.out4
-rw-r--r--testdata/language-features/guard/guard04.out2
-rw-r--r--testdata/language-features/guard/guard07.out4
-rw-r--r--testdata/language-features/guard/guard08.out4
-rw-r--r--testdata/language-features/guard/guard09.out4
-rw-r--r--testdata/language-features/guard/guard11.out2
-rw-r--r--testdata/language-features/guard/guard13.out2
-rw-r--r--testdata/language-features/guard/guard14.out3
-rw-r--r--testdata/language-features/guard/guard15.out3
-rw-r--r--testdata/language-features/guard/guard16.out4
-rw-r--r--testdata/language-features/pattern/pattern01.out6
-rw-r--r--testdata/language-features/pattern/uncovered.out74
-rw-r--r--testdata/language-features/recursion/simplerec01.out2
-rw-r--r--testdata/language-features/recursion/simplerec02.out2
-rw-r--r--testdata/language-features/recursion/simplerec03.out2
-rw-r--r--testdata/performance/Material.out128
-rw-r--r--testdata/typeclass.out16
-rw-r--r--testdata/zip01.out10
40 files changed, 693 insertions, 662 deletions
diff --git a/testdata/Builtins.out b/testdata/Builtins.out
index 2e7d6b11..0595c3ef 100644
--- a/testdata/Builtins.out
+++ b/testdata/Builtins.out
@@ -6,22 +6,22 @@ data VecS (_ :: Type) :: Nat -> Type where
6 V4 :: forall c . c -> c -> c -> c -> VecS c (fromInt 4) 6 V4 :: forall c . c -> c -> c -> c -> VecS c (fromInt 4)
7mapVec 7mapVec
8 = (\(a :: _) (b :: _) -> case'VecS 8 = (\(a :: _) (b :: _) -> case'VecS
9 \_ -> \_ -> _ :: _ 9 (\_ -> \_ -> _ :: _)
10 \(c :: _) (d :: _) -> _rhs (V2 (a c) (a d)) 10 (\(c :: _) (d :: _) -> _rhs (V2 (a c) (a d)))
11 \(e :: _) (f :: _) (g :: _) -> _rhs (V3 (a e) (a f) (a g)) 11 (\(e :: _) (f :: _) (g :: _) -> _rhs (V3 (a e) (a f) (a g)))
12 \(h :: _) (i :: _) (j :: _) (k :: _) -> _rhs (V4 (a h) (a i) (a j) (a k)) 12 (\(h :: _) (i :: _) (j :: _) (k :: _) -> _rhs (V4 (a h) (a i) (a j) (a k)))
13 b) 13 b)
14 :: forall (l :: _) (m :: _) (n :: _) . (l -> m) -> VecS l n -> VecS m n 14 :: forall (l :: _) (m :: _) (n :: _) . (l -> m) -> VecS l n -> VecS m n
15'Vec = (\(a :: _) (b :: _) -> _rhs ('VecS b a)) :: Nat -> Type -> Type 15'Vec = (\(a :: _) (b :: _) -> _rhs ('VecS b a)) :: Nat -> Type -> Type
16'VecScalar 16'VecScalar
17 = (\(a :: _) (b :: _) -> case'Nat 17 = (\(a :: _) (b :: _) -> case'Nat
18 \_ -> _ :: _ 18 (\_ -> _ :: _)
19 undefined 19 undefined
20 \(c :: _) -> case'Nat 20 (\(c :: _) -> case'Nat
21 \_ -> _ :: _ 21 (\_ -> _ :: _)
22 (_rhs b) 22 (_rhs b)
23 \(d :: _) -> _rhs ('Vec (Succ (Succ d)) b) 23 (\(d :: _) -> _rhs ('Vec (Succ (Succ d)) b))
24 c 24 c)
25 a) 25 a)
26 :: Nat -> Type -> Type 26 :: Nat -> Type -> Type
27data Mat :: Nat -> Nat -> Type -> Type where 27data Mat :: Nat -> Nat -> Type -> Type where
@@ -63,402 +63,402 @@ data Mat :: Nat -> Nat -> Type -> Type where
63 -> Vec (fromInt 4) Float -> Mat (fromInt 4) (fromInt 4) Float 63 -> Vec (fromInt 4) Float -> Mat (fromInt 4) (fromInt 4) Float
64'MatVecScalarElem 64'MatVecScalarElem
65 = (\(a :: _) -> match'Float 65 = (\(a :: _) -> match'Float
66 \_ -> _ 66 (\_ -> _)
67 (_rhs 'Float) 67 (_rhs 'Float)
68 a 68 a
69 (match'Bool 69 (match'Bool
70 \_ -> _ 70 (\_ -> _)
71 (_rhs 'Bool) 71 (_rhs 'Bool)
72 a 72 a
73 (match'Int 73 (match'Int
74 \_ -> _ 74 (\_ -> _)
75 (_rhs 'Int) 75 (_rhs 'Int)
76 a 76 a
77 (match'VecS 77 (match'VecS
78 \_ -> _ 78 (\_ -> _)
79 \(b :: _) -> \_ -> _rhs b 79 (\(b :: _) -> \_ -> _rhs b)
80 a 80 a
81 (match'Mat \_ -> _ \_ -> \_ (c :: _) -> _rhs c a undefined))))) 81 (match'Mat (\_ -> _) (\_ -> \_ (c :: _) -> _rhs c) a undefined)))))
82 :: Type -> Type 82 :: Type -> Type
83'Signed 83'Signed
84 = (\(a :: _) -> match'Int 84 = (\(a :: _) -> match'Int
85 \_ -> _ 85 (\_ -> _)
86 (_rhs 'Unit) 86 (_rhs 'Unit)
87 a 87 a
88 (match'Float 88 (match'Float
89 \_ -> _ 89 (\_ -> _)
90 (_rhs 'Unit) 90 (_rhs 'Unit)
91 a 91 a
92 (_rhs ('Empty "no instance of 'Signed on ???")))) 92 (_rhs ('Empty "no instance of 'Signed on ???"))))
93 :: Type -> Type 93 :: Type -> Type
94'Component 94'Component
95 = (\(a :: _) -> match'Int 95 = (\(a :: _) -> match'Int
96 \_ -> _ 96 (\_ -> _)
97 (_rhs 'Unit) 97 (_rhs 'Unit)
98 a 98 a
99 (match'Word 99 (match'Word
100 \_ -> _ 100 (\_ -> _)
101 (_rhs 'Unit) 101 (_rhs 'Unit)
102 a 102 a
103 (match'Float 103 (match'Float
104 \_ -> _ 104 (\_ -> _)
105 (_rhs 'Unit) 105 (_rhs 'Unit)
106 a 106 a
107 (match'VecS 107 (match'VecS
108 \_ -> _ 108 (\_ -> _)
109 \(b :: _) (c :: _) -> match'Float 109 (\(b :: _) (c :: _) -> match'Float
110 \_ -> _ 110 (\_ -> _)
111 (case'Nat 111 (case'Nat
112 \_ -> _ :: _ 112 (\_ -> _ :: _)
113 (_rhs ('Empty "no instance of 'Component on ???")) 113 (_rhs ('Empty "no instance of 'Component on ???"))
114 \(d :: _) -> case'Nat 114 (\(d :: _) -> case'Nat
115 \_ -> _ :: _ 115 (\_ -> _ :: _)
116 (_rhs ('Empty "no instance of 'Component on ???")) 116 (_rhs ('Empty "no instance of 'Component on ???"))
117 \(e :: _) -> case'Nat 117 (\(e :: _) -> case'Nat
118 \_ -> _ :: _ 118 (\_ -> _ :: _)
119 (_rhs 'Unit) 119 (_rhs 'Unit)
120 \(f :: _) -> case'Nat 120 (\(f :: _) -> case'Nat
121 \_ -> _ :: _ 121 (\_ -> _ :: _)
122 (_rhs 'Unit) 122 (_rhs 'Unit)
123 \(g :: _) -> case'Nat 123 (\(g :: _) -> case'Nat
124 \_ -> _ :: _ 124 (\_ -> _ :: _)
125 (_rhs 'Unit) 125 (_rhs 'Unit)
126 \_ -> _rhs ('Empty "no instance of 'Component on ???") 126 (\_ -> _rhs ('Empty "no instance of 'Component on ???"))
127 g 127 g)
128 f 128 f)
129 e 129 e)
130 d 130 d)
131 c) 131 c)
132 b 132 b
133 (match'Bool 133 (match'Bool
134 \_ -> _ 134 (\_ -> _)
135 (case'Nat 135 (case'Nat
136 \_ -> _ :: _ 136 (\_ -> _ :: _)
137 (_rhs ('Empty "no instance of 'Component on ???")) 137 (_rhs ('Empty "no instance of 'Component on ???"))
138 \(h :: _) -> case'Nat 138 (\(h :: _) -> case'Nat
139 \_ -> _ :: _ 139 (\_ -> _ :: _)
140 (_rhs ('Empty "no instance of 'Component on ???")) 140 (_rhs ('Empty "no instance of 'Component on ???"))
141 \(i :: _) -> case'Nat 141 (\(i :: _) -> case'Nat
142 \_ -> _ :: _ 142 (\_ -> _ :: _)
143 (_rhs 'Unit) 143 (_rhs 'Unit)
144 \(j :: _) -> case'Nat 144 (\(j :: _) -> case'Nat
145 \_ -> _ :: _ 145 (\_ -> _ :: _)
146 (_rhs 'Unit) 146 (_rhs 'Unit)
147 \(k :: _) -> case'Nat 147 (\(k :: _) -> case'Nat
148 \_ -> _ :: _ 148 (\_ -> _ :: _)
149 (_rhs 'Unit) 149 (_rhs 'Unit)
150 \_ -> _rhs ('Empty "no instance of 'Component on ???") 150 (\_ -> _rhs ('Empty "no instance of 'Component on ???"))
151 k 151 k)
152 j 152 j)
153 i 153 i)
154 h 154 h)
155 c) 155 c)
156 b 156 b
157 (_rhs ('Empty "no instance of 'Component on ???"))) 157 (_rhs ('Empty "no instance of 'Component on ???"))))
158 a 158 a
159 (match'Bool 159 (match'Bool
160 \_ -> _ 160 (\_ -> _)
161 (_rhs 'Unit) 161 (_rhs 'Unit)
162 a 162 a
163 (_rhs ('Empty "no instance of 'Component on ???"))))))) 163 (_rhs ('Empty "no instance of 'Component on ???")))))))
164 :: Type -> Type 164 :: Type -> Type
165zero 165zero
166 = (\ @a -> \ @_ -> match'Int 166 = (\ @a -> \ @_ -> match'Int
167 \_ -> _ 167 (\_ -> _)
168 (_rhs \(b := _rhs (fromInt 0 :: Int)) -> b) 168 (_rhs \(b := _rhs (fromInt 0 :: Int)) -> b)
169 a 169 a
170 (match'Word 170 (match'Word
171 \_ -> _ 171 (\_ -> _)
172 (_rhs \(c := _rhs (fromInt 0 :: Word)) -> c) 172 (_rhs \(c := _rhs (fromInt 0 :: Word)) -> c)
173 a 173 a
174 (match'Float 174 (match'Float
175 \_ -> _ 175 (\_ -> _)
176 (_rhs \(d := _rhs 0.0) -> d) 176 (_rhs \(d := _rhs 0.0) -> d)
177 a 177 a
178 (match'VecS 178 (match'VecS
179 \_ -> _ 179 (\_ -> _)
180 \(e :: _) (f :: _) -> match'Float 180 (\(e :: _) (f :: _) -> match'Float
181 \_ -> _ 181 (\_ -> _)
182 (case'Nat 182 (case'Nat
183 \_ -> _ :: _ 183 (\_ -> _ :: _)
184 (_rhs undefined) 184 (_rhs undefined)
185 \(g :: _) -> case'Nat 185 (\(g :: _) -> case'Nat
186 \_ -> _ :: _ 186 (\_ -> _ :: _)
187 (_rhs undefined) 187 (_rhs undefined)
188 \(h :: _) -> case'Nat 188 (\(h :: _) -> case'Nat
189 \_ -> _ :: _ 189 (\_ -> _ :: _)
190 (_rhs \(i := _rhs (V2 0.0 0.0)) -> i) 190 (_rhs \(i := _rhs (V2 0.0 0.0)) -> i)
191 \(j :: _) -> case'Nat 191 (\(j :: _) -> case'Nat
192 \_ -> _ :: _ 192 (\_ -> _ :: _)
193 (_rhs \(k := _rhs (V3 0.0 0.0 0.0)) -> k) 193 (_rhs \(k := _rhs (V3 0.0 0.0 0.0)) -> k)
194 \(l :: _) -> case'Nat 194 (\(l :: _) -> case'Nat
195 \_ -> _ :: _ 195 (\_ -> _ :: _)
196 (_rhs \(m := _rhs (V4 0.0 0.0 0.0 0.0)) -> m) 196 (_rhs \(m := _rhs (V4 0.0 0.0 0.0 0.0)) -> m)
197 \_ -> _rhs undefined 197 (\_ -> _rhs undefined)
198 l 198 l)
199 j 199 j)
200 h 200 h)
201 g 201 g)
202 f) 202 f)
203 e 203 e
204 (match'Bool 204 (match'Bool
205 \_ -> _ 205 (\_ -> _)
206 (case'Nat 206 (case'Nat
207 \_ -> _ :: _ 207 (\_ -> _ :: _)
208 (_rhs undefined) 208 (_rhs undefined)
209 \(n :: _) -> case'Nat 209 (\(n :: _) -> case'Nat
210 \_ -> _ :: _ 210 (\_ -> _ :: _)
211 (_rhs undefined) 211 (_rhs undefined)
212 \(o :: _) -> case'Nat 212 (\(o :: _) -> case'Nat
213 \_ -> _ :: _ 213 (\_ -> _ :: _)
214 (_rhs \(p := _rhs (V2 False False)) -> p) 214 (_rhs \(p := _rhs (V2 False False)) -> p)
215 \(q :: _) -> case'Nat 215 (\(q :: _) -> case'Nat
216 \_ -> _ :: _ 216 (\_ -> _ :: _)
217 (_rhs \(r := _rhs (V3 False False False)) -> r) 217 (_rhs \(r := _rhs (V3 False False False)) -> r)
218 \(s :: _) -> case'Nat 218 (\(s :: _) -> case'Nat
219 \_ -> _ :: _ 219 (\_ -> _ :: _)
220 (_rhs \(t := _rhs (V4 False False False False)) -> t) 220 (_rhs \(t := _rhs (V4 False False False False)) -> t)
221 \_ -> _rhs undefined 221 (\_ -> _rhs undefined)
222 s 222 s)
223 q 223 q)
224 o 224 o)
225 n 225 n)
226 f) 226 f)
227 e 227 e
228 (_rhs undefined)) 228 (_rhs undefined)))
229 a 229 a
230 (match'Bool \_ -> _ (_rhs \(u := _rhs False) -> u) a (_rhs undefined)))))) 230 (match'Bool (\_ -> _) (_rhs \(u := _rhs False) -> u) a (_rhs undefined))))))
231 :: forall v . Component v => v 231 :: forall v . Component v => v
232one 232one
233 = (\ @a -> \ @_ -> match'Int 233 = (\ @a -> \ @_ -> match'Int
234 \_ -> _ 234 (\_ -> _)
235 (_rhs \(b := _rhs (fromInt 1 :: Int)) -> b) 235 (_rhs \(b := _rhs (fromInt 1 :: Int)) -> b)
236 a 236 a
237 (match'Word 237 (match'Word
238 \_ -> _ 238 (\_ -> _)
239 (_rhs \(c := _rhs (fromInt 1 :: Word)) -> c) 239 (_rhs \(c := _rhs (fromInt 1 :: Word)) -> c)
240 a 240 a
241 (match'Float 241 (match'Float
242 \_ -> _ 242 (\_ -> _)
243 (_rhs \(d := _rhs 1.0) -> d) 243 (_rhs \(d := _rhs 1.0) -> d)
244 a 244 a
245 (match'VecS 245 (match'VecS
246 \_ -> _ 246 (\_ -> _)
247 \(e :: _) (f :: _) -> match'Float 247 (\(e :: _) (f :: _) -> match'Float
248 \_ -> _ 248 (\_ -> _)
249 (case'Nat 249 (case'Nat
250 \_ -> _ :: _ 250 (\_ -> _ :: _)
251 (_rhs undefined) 251 (_rhs undefined)
252 \(g :: _) -> case'Nat 252 (\(g :: _) -> case'Nat
253 \_ -> _ :: _ 253 (\_ -> _ :: _)
254 (_rhs undefined) 254 (_rhs undefined)
255 \(h :: _) -> case'Nat 255 (\(h :: _) -> case'Nat
256 \_ -> _ :: _ 256 (\_ -> _ :: _)
257 (_rhs \(i := _rhs (V2 1.0 1.0)) -> i) 257 (_rhs \(i := _rhs (V2 1.0 1.0)) -> i)
258 \(j :: _) -> case'Nat 258 (\(j :: _) -> case'Nat
259 \_ -> _ :: _ 259 (\_ -> _ :: _)
260 (_rhs \(k := _rhs (V3 1.0 1.0 1.0)) -> k) 260 (_rhs \(k := _rhs (V3 1.0 1.0 1.0)) -> k)
261 \(l :: _) -> case'Nat 261 (\(l :: _) -> case'Nat
262 \_ -> _ :: _ 262 (\_ -> _ :: _)
263 (_rhs \(m := _rhs (V4 1.0 1.0 1.0 1.0)) -> m) 263 (_rhs \(m := _rhs (V4 1.0 1.0 1.0 1.0)) -> m)
264 \_ -> _rhs undefined 264 (\_ -> _rhs undefined)
265 l 265 l)
266 j 266 j)
267 h 267 h)
268 g 268 g)
269 f) 269 f)
270 e 270 e
271 (match'Bool 271 (match'Bool
272 \_ -> _ 272 (\_ -> _)
273 (case'Nat 273 (case'Nat
274 \_ -> _ :: _ 274 (\_ -> _ :: _)
275 (_rhs undefined) 275 (_rhs undefined)
276 \(n :: _) -> case'Nat 276 (\(n :: _) -> case'Nat
277 \_ -> _ :: _ 277 (\_ -> _ :: _)
278 (_rhs undefined) 278 (_rhs undefined)
279 \(o :: _) -> case'Nat 279 (\(o :: _) -> case'Nat
280 \_ -> _ :: _ 280 (\_ -> _ :: _)
281 (_rhs \(p := _rhs (V2 True True)) -> p) 281 (_rhs \(p := _rhs (V2 True True)) -> p)
282 \(q :: _) -> case'Nat 282 (\(q :: _) -> case'Nat
283 \_ -> _ :: _ 283 (\_ -> _ :: _)
284 (_rhs \(r := _rhs (V3 True True True)) -> r) 284 (_rhs \(r := _rhs (V3 True True True)) -> r)
285 \(s :: _) -> case'Nat 285 (\(s :: _) -> case'Nat
286 \_ -> _ :: _ 286 (\_ -> _ :: _)
287 (_rhs \(t := _rhs (V4 True True True True)) -> t) 287 (_rhs \(t := _rhs (V4 True True True True)) -> t)
288 \_ -> _rhs undefined 288 (\_ -> _rhs undefined)
289 s 289 s)
290 q 290 q)
291 o 291 o)
292 n 292 n)
293 f) 293 f)
294 e 294 e
295 (_rhs undefined)) 295 (_rhs undefined)))
296 a 296 a
297 (match'Bool \_ -> _ (_rhs \(u := _rhs True) -> u) a (_rhs undefined)))))) 297 (match'Bool (\_ -> _) (_rhs \(u := _rhs True) -> u) a (_rhs undefined))))))
298 :: forall v . Component v => v 298 :: forall v . Component v => v
299'Integral 299'Integral
300 = (\(a :: _) -> match'Int 300 = (\(a :: _) -> match'Int
301 \_ -> _ 301 (\_ -> _)
302 (_rhs 'Unit) 302 (_rhs 'Unit)
303 a 303 a
304 (match'Word 304 (match'Word
305 \_ -> _ 305 (\_ -> _)
306 (_rhs 'Unit) 306 (_rhs 'Unit)
307 a 307 a
308 (_rhs ('Empty "no instance of 'Integral on ???")))) 308 (_rhs ('Empty "no instance of 'Integral on ???"))))
309 :: Type -> Type 309 :: Type -> Type
310'Floating 310'Floating
311 = (\(a :: _) -> match'Float 311 = (\(a :: _) -> match'Float
312 \_ -> _ 312 (\_ -> _)
313 (_rhs 'Unit) 313 (_rhs 'Unit)
314 a 314 a
315 (match'VecS 315 (match'VecS
316 \_ -> _ 316 (\_ -> _)
317 \(b :: _) (c :: _) -> match'Float 317 (\(b :: _) (c :: _) -> match'Float
318 \_ -> _ 318 (\_ -> _)
319 (case'Nat 319 (case'Nat
320 \_ -> _ :: _ 320 (\_ -> _ :: _)
321 (_rhs ('Empty "no instance of 'Floating on ???")) 321 (_rhs ('Empty "no instance of 'Floating on ???"))
322 \(d :: _) -> case'Nat 322 (\(d :: _) -> case'Nat
323 \_ -> _ :: _ 323 (\_ -> _ :: _)
324 (_rhs ('Empty "no instance of 'Floating on ???")) 324 (_rhs ('Empty "no instance of 'Floating on ???"))
325 \(e :: _) -> case'Nat 325 (\(e :: _) -> case'Nat
326 \_ -> _ :: _ 326 (\_ -> _ :: _)
327 (_rhs 'Unit) 327 (_rhs 'Unit)
328 \(f :: _) -> case'Nat 328 (\(f :: _) -> case'Nat
329 \_ -> _ :: _ 329 (\_ -> _ :: _)
330 (_rhs 'Unit) 330 (_rhs 'Unit)
331 \(g :: _) -> case'Nat 331 (\(g :: _) -> case'Nat
332 \_ -> _ :: _ 332 (\_ -> _ :: _)
333 (_rhs 'Unit) 333 (_rhs 'Unit)
334 \_ -> _rhs ('Empty "no instance of 'Floating on ???") 334 (\_ -> _rhs ('Empty "no instance of 'Floating on ???"))
335 g 335 g)
336 f 336 f)
337 e 337 e)
338 d 338 d)
339 c) 339 c)
340 b 340 b
341 (_rhs ('Empty "no instance of 'Floating on ???")) 341 (_rhs ('Empty "no instance of 'Floating on ???")))
342 a 342 a
343 (match'Mat 343 (match'Mat
344 \_ -> _ 344 (\_ -> _)
345 \(h :: _) (i :: _) (j :: _) -> case'Nat 345 (\(h :: _) (i :: _) (j :: _) -> case'Nat
346 \_ -> _ :: _ 346 (\_ -> _ :: _)
347 (_rhs ('Empty "no instance of 'Floating on ???")) 347 (_rhs ('Empty "no instance of 'Floating on ???"))
348 \(k :: _) -> case'Nat 348 (\(k :: _) -> case'Nat
349 \_ -> _ :: _ 349 (\_ -> _ :: _)
350 (_rhs ('Empty "no instance of 'Floating on ???")) 350 (_rhs ('Empty "no instance of 'Floating on ???"))
351 \(l :: _) -> case'Nat 351 (\(l :: _) -> case'Nat
352 \_ -> _ :: _ 352 (\_ -> _ :: _)
353 (case'Nat 353 (case'Nat
354 \_ -> _ :: _ 354 (\_ -> _ :: _)
355 (_rhs ('Empty "no instance of 'Floating on ???")) 355 (_rhs ('Empty "no instance of 'Floating on ???"))
356 \(m :: _) -> case'Nat 356 (\(m :: _) -> case'Nat
357 \_ -> _ :: _ 357 (\_ -> _ :: _)
358 (_rhs ('Empty "no instance of 'Floating on ???")) 358 (_rhs ('Empty "no instance of 'Floating on ???"))
359 \(n :: _) -> case'Nat 359 (\(n :: _) -> case'Nat
360 \_ -> _ :: _ 360 (\_ -> _ :: _)
361 (match'Float 361 (match'Float
362 \_ -> _ 362 (\_ -> _)
363 (_rhs 'Unit) 363 (_rhs 'Unit)
364 j 364 j
365 (_rhs ('Empty "no instance of 'Floating on ???"))) 365 (_rhs ('Empty "no instance of 'Floating on ???")))
366 \(o :: _) -> case'Nat 366 (\(o :: _) -> case'Nat
367 \_ -> _ :: _ 367 (\_ -> _ :: _)
368 (match'Float 368 (match'Float
369 \_ -> _ 369 (\_ -> _)
370 (_rhs 'Unit) 370 (_rhs 'Unit)
371 j 371 j
372 (_rhs ('Empty "no instance of 'Floating on ???"))) 372 (_rhs ('Empty "no instance of 'Floating on ???")))
373 \(p :: _) -> case'Nat 373 (\(p :: _) -> case'Nat
374 \_ -> _ :: _ 374 (\_ -> _ :: _)
375 (match'Float 375 (match'Float
376 \_ -> _ 376 (\_ -> _)
377 (_rhs 'Unit) 377 (_rhs 'Unit)
378 j 378 j
379 (_rhs ('Empty "no instance of 'Floating on ???"))) 379 (_rhs ('Empty "no instance of 'Floating on ???")))
380 \_ -> _rhs ('Empty "no instance of 'Floating on ???") 380 (\_ -> _rhs ('Empty "no instance of 'Floating on ???"))
381 p 381 p)
382 o 382 o)
383 n 383 n)
384 m 384 m)
385 i) 385 i)
386 \(q :: _) -> case'Nat 386 (\(q :: _) -> case'Nat
387 \_ -> _ :: _ 387 (\_ -> _ :: _)
388 (case'Nat 388 (case'Nat
389 \_ -> _ :: _ 389 (\_ -> _ :: _)
390 (_rhs ('Empty "no instance of 'Floating on ???")) 390 (_rhs ('Empty "no instance of 'Floating on ???"))
391 \(r :: _) -> case'Nat 391 (\(r :: _) -> case'Nat
392 \_ -> _ :: _ 392 (\_ -> _ :: _)
393 (_rhs ('Empty "no instance of 'Floating on ???")) 393 (_rhs ('Empty "no instance of 'Floating on ???"))
394 \(s :: _) -> case'Nat 394 (\(s :: _) -> case'Nat
395 \_ -> _ :: _ 395 (\_ -> _ :: _)
396 (match'Float 396 (match'Float
397 \_ -> _ 397 (\_ -> _)
398 (_rhs 'Unit) 398 (_rhs 'Unit)
399 j 399 j
400 (_rhs ('Empty "no instance of 'Floating on ???"))) 400 (_rhs ('Empty "no instance of 'Floating on ???")))
401 \(t :: _) -> case'Nat 401 (\(t :: _) -> case'Nat
402 \_ -> _ :: _ 402 (\_ -> _ :: _)
403 (match'Float 403 (match'Float
404 \_ -> _ 404 (\_ -> _)
405 (_rhs 'Unit) 405 (_rhs 'Unit)
406 j 406 j
407 (_rhs ('Empty "no instance of 'Floating on ???"))) 407 (_rhs ('Empty "no instance of 'Floating on ???")))
408 \(u :: _) -> case'Nat 408 (\(u :: _) -> case'Nat
409 \_ -> _ :: _ 409 (\_ -> _ :: _)
410 (match'Float 410 (match'Float
411 \_ -> _ 411 (\_ -> _)
412 (_rhs 'Unit) 412 (_rhs 'Unit)
413 j 413 j
414 (_rhs ('Empty "no instance of 'Floating on ???"))) 414 (_rhs ('Empty "no instance of 'Floating on ???")))
415 \_ -> _rhs ('Empty "no instance of 'Floating on ???") 415 (\_ -> _rhs ('Empty "no instance of 'Floating on ???"))
416 u 416 u)
417 t 417 t)
418 s 418 s)
419 r 419 r)
420 i) 420 i)
421 \(v :: _) -> case'Nat 421 (\(v :: _) -> case'Nat
422 \_ -> _ :: _ 422 (\_ -> _ :: _)
423 (case'Nat 423 (case'Nat
424 \_ -> _ :: _ 424 (\_ -> _ :: _)
425 (_rhs ('Empty "no instance of 'Floating on ???")) 425 (_rhs ('Empty "no instance of 'Floating on ???"))
426 \(w :: _) -> case'Nat 426 (\(w :: _) -> case'Nat
427 \_ -> _ :: _ 427 (\_ -> _ :: _)
428 (_rhs ('Empty "no instance of 'Floating on ???")) 428 (_rhs ('Empty "no instance of 'Floating on ???"))
429 \(x :: _) -> case'Nat 429 (\(x :: _) -> case'Nat
430 \_ -> _ :: _ 430 (\_ -> _ :: _)
431 (match'Float 431 (match'Float
432 \_ -> _ 432 (\_ -> _)
433 (_rhs 'Unit) 433 (_rhs 'Unit)
434 j 434 j
435 (_rhs ('Empty "no instance of 'Floating on ???"))) 435 (_rhs ('Empty "no instance of 'Floating on ???")))
436 \(y :: _) -> case'Nat 436 (\(y :: _) -> case'Nat
437 \_ -> _ :: _ 437 (\_ -> _ :: _)
438 (match'Float 438 (match'Float
439 \_ -> _ 439 (\_ -> _)
440 (_rhs 'Unit) 440 (_rhs 'Unit)
441 j 441 j
442 (_rhs ('Empty "no instance of 'Floating on ???"))) 442 (_rhs ('Empty "no instance of 'Floating on ???")))
443 \(z :: _) -> case'Nat 443 (\(z :: _) -> case'Nat
444 \_ -> _ :: _ 444 (\_ -> _ :: _)
445 (match'Float 445 (match'Float
446 \_ -> _ 446 (\_ -> _)
447 (_rhs 'Unit) 447 (_rhs 'Unit)
448 j 448 j
449 (_rhs ('Empty "no instance of 'Floating on ???"))) 449 (_rhs ('Empty "no instance of 'Floating on ???")))
450 \_ -> _rhs ('Empty "no instance of 'Floating on ???") 450 (\_ -> _rhs ('Empty "no instance of 'Floating on ???"))
451 z 451 z)
452 y 452 y)
453 x 453 x)
454 w 454 w)
455 i) 455 i)
456 \_ -> _rhs ('Empty "no instance of 'Floating on ???") 456 (\_ -> _rhs ('Empty "no instance of 'Floating on ???"))
457 v 457 v)
458 q 458 q)
459 l 459 l)
460 k 460 k)
461 h 461 h)
462 a 462 a
463 (_rhs ('Empty "no instance of 'Floating on ???"))))) 463 (_rhs ('Empty "no instance of 'Floating on ???")))))
464 :: Type -> Type 464 :: Type -> Type
@@ -646,37 +646,37 @@ PrimNoise3 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 3) Float
646PrimNoise4 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 4) Float 646PrimNoise4 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 4) Float
647head 647head
648 = \(a :: _) -> case'List 648 = \(a :: _) -> case'List
649 \_ -> _ :: _ 649 (\_ -> _ :: _)
650 (_rhs undefined) 650 (_rhs undefined)
651 \(b :: _) -> \_ -> _rhs b 651 (\(b :: _) -> \_ -> _rhs b)
652 a 652 a
653++ 653++
654 = \(a :: _) (b :: _) -> case'List 654 = \(a :: _) (b :: _) -> case'List
655 \_ -> _ :: _ 655 (\_ -> _ :: _)
656 (_rhs b) 656 (_rhs b)
657 \(c :: _) (d :: _) -> _rhs (c : d ++ b) 657 (\(c :: _) (d :: _) -> _rhs (c : d ++ b))
658 a 658 a
659foldr 659foldr
660 = \(a :: _) (b :: _) (c :: _) -> case'List 660 = \(a :: _) (b :: _) (c :: _) -> case'List
661 \_ -> _ :: _ 661 (\_ -> _ :: _)
662 (_rhs b) 662 (_rhs b)
663 \(d :: _) (e :: _) -> _rhs (a d (foldr a b e)) 663 (\(d :: _) (e :: _) -> _rhs (a d (foldr a b e)))
664 c 664 c
665concat = _rhs (foldr ++ []) 665concat = _rhs (foldr ++ [])
666map 666map
667 = \(a :: _) (b :: _) -> case'List 667 = \(a :: _) (b :: _) -> case'List
668 \_ -> _ :: _ 668 (\_ -> _ :: _)
669 (_rhs []) 669 (_rhs [])
670 \(c :: _) (d :: _) -> _rhs (a c : map a d) 670 (\(c :: _) (d :: _) -> _rhs (a c : map a d))
671 b 671 b
672concatMap 672concatMap
673 = (\(a :: _) (b :: _) -> _rhs (concat (map a b))) 673 = (\(a :: _) (b :: _) -> _rhs (concat (map a b)))
674 :: forall (c :: _) (d :: _) . (c -> [d]) -> [c] -> [d] 674 :: forall (c :: _) (d :: _) . (c -> [d]) -> [c] -> [d]
675len 675len
676 = \(a :: _) -> case'List 676 = \(a :: _) -> case'List
677 \_ -> _ :: _ 677 (\_ -> _ :: _)
678 (_rhs (fromInt 0)) 678 (_rhs (fromInt 0))
679 \_ (b :: _) -> _rhs (fromInt 1 `primAddInt` len b) 679 (\_ (b :: _) -> _rhs (fromInt 1 `primAddInt` len b))
680 a 680 a
681data Maybe (_ :: Type) :: Type where 681data Maybe (_ :: Type) :: Type where
682 Nothing :: forall a . Maybe a 682 Nothing :: forall a . Maybe a
@@ -702,7 +702,7 @@ mapPrimitives
702 :: forall (b :: _) (c :: _) (d :: _) 702 :: forall (b :: _) (c :: _) (d :: _)
703 . (b -> c) -> PrimitiveStream d b -> PrimitiveStream d c 703 . (b -> c) -> PrimitiveStream d b -> PrimitiveStream d c
704'ListElem 704'ListElem
705 = (\(a :: _) -> match'List \_ -> _ \(b :: _) -> _rhs b a undefined) 705 = (\(a :: _) -> match'List (\_ -> _) (\(b :: _) -> _rhs b) a undefined)
706 :: Type -> Type 706 :: Type -> Type
707fetchArrays 707fetchArrays
708 :: forall (a :: _) (b :: _) (c :: _) 708 :: forall (a :: _) (b :: _) (c :: _)
@@ -718,9 +718,9 @@ data SimpleFragment (_ :: Type) :: Type where
718 SimpleFragment :: forall a . Vec (fromInt 3) Float -> a -> SimpleFragment a 718 SimpleFragment :: forall a . Vec (fromInt 3) Float -> a -> SimpleFragment a
719'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b))) 719'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b)))
720sFragmentCoords 720sFragmentCoords
721 = \(a :: _) -> case'SimpleFragment \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a 721 = \(a :: _) -> case'SimpleFragment (\_ -> _ :: _) (\(b :: _) -> \_ -> _rhs b) a
722sFragmentValue 722sFragmentValue
723 = \(a :: _) -> case'SimpleFragment \_ -> _ :: _ \_ (b :: _) -> _rhs b a 723 = \(a :: _) -> case'SimpleFragment (\_ -> _ :: _) (\_ (b :: _) -> _rhs b) a
724'FragmentStream = \(a :: _) (b :: _) -> _rhs ['Fragment a b] 724'FragmentStream = \(a :: _) (b :: _) -> _rhs ['Fragment a b]
725customizeDepth 725customizeDepth
726 :: forall (a :: _) (b :: _) . (a -> Float) -> Fragment b a -> Fragment b a 726 :: forall (a :: _) (b :: _) . (a -> Float) -> Fragment b a -> Fragment b a
@@ -746,8 +746,8 @@ data ImageKind :: Type where
746 Stencil :: ImageKind 746 Stencil :: ImageKind
747imageType 747imageType
748 = (\(a :: _) -> case'ImageKind 748 = (\(a :: _) -> case'ImageKind
749 \_ -> _ :: _ 749 (\_ -> _ :: _)
750 \(b :: _) -> _rhs b 750 (\(b :: _) -> _rhs b)
751 (_rhs 'Float) 751 (_rhs 'Float)
752 (_rhs 'Int) 752 (_rhs 'Int)
753 a) 753 a)
@@ -768,41 +768,41 @@ data Swizz :: Type where
768 Sw :: Swizz 768 Sw :: Swizz
769swizzscalar 769swizzscalar
770 = (\(a :: _) (b :: _) -> case'VecS 770 = (\(a :: _) (b :: _) -> case'VecS
771 \_ -> \_ -> _ :: _ 771 (\_ -> \_ -> _ :: _)
772 \(c :: _) (d :: _) -> case'Swizz 772 (\(c :: _) (d :: _) -> case'Swizz
773 \_ -> _ :: _ 773 (\_ -> _ :: _)
774 (_rhs c) 774 (_rhs c)
775 (_rhs d) 775 (_rhs d)
776 (_rhs undefined) 776 (_rhs undefined)
777 (_rhs undefined) 777 (_rhs undefined)
778 b 778 b)
779 \(e :: _) (f :: _) (g :: _) -> case'Swizz 779 (\(e :: _) (f :: _) (g :: _) -> case'Swizz
780 \_ -> _ :: _ 780 (\_ -> _ :: _)
781 (_rhs e) 781 (_rhs e)
782 (_rhs f) 782 (_rhs f)
783 (_rhs g) 783 (_rhs g)
784 (_rhs undefined) 784 (_rhs undefined)
785 b 785 b)
786 \(h :: _) (i :: _) (j :: _) (k :: _) -> case'Swizz 786 (\(h :: _) (i :: _) (j :: _) (k :: _) -> case'Swizz
787 \_ -> _ :: _ 787 (\_ -> _ :: _)
788 (_rhs h) 788 (_rhs h)
789 (_rhs i) 789 (_rhs i)
790 (_rhs j) 790 (_rhs j)
791 (_rhs k) 791 (_rhs k)
792 b 792 b)
793 a) 793 a)
794 :: forall (l :: _) (m :: _) . Vec m l -> Swizz -> l 794 :: forall (l :: _) (m :: _) . Vec m l -> Swizz -> l
795definedVec 795definedVec
796 = (\(a :: _) -> case'VecS 796 = (\(a :: _) -> case'VecS
797 \_ -> \_ -> _ :: _ 797 (\_ -> \_ -> _ :: _)
798 \_ -> \_ -> _rhs True 798 (\_ -> \_ -> _rhs True)
799 \_ -> \_ -> \_ -> _rhs True 799 (\_ -> \_ -> \_ -> _rhs True)
800 \_ -> \_ -> \_ -> \_ -> _rhs True 800 (\_ -> \_ -> \_ -> \_ -> _rhs True)
801 a) 801 a)
802 :: forall (b :: _) (c :: _) . Vec c b -> Bool 802 :: forall (b :: _) (c :: _) . Vec c b -> Bool
803swizzvector 803swizzvector
804 = (\(a :: _) (b :: _) -> case'Bool 804 = (\(a :: _) (b :: _) -> case'Bool
805 \_ -> _ :: _ 805 (\_ -> _ :: _)
806 (_rhs undefined) 806 (_rhs undefined)
807 (_rhs (mapVec (swizzscalar a) b)) 807 (_rhs (mapVec (swizzscalar a) b))
808 (definedVec a)) 808 (definedVec a))
@@ -929,17 +929,17 @@ rasterizePrimitive
929rasterizePrimitives 929rasterizePrimitives
930 = \(a :: _) (b :: _) (c :: _) -> _rhs (concat (map (rasterizePrimitive b a) c)) 930 = \(a :: _) (b :: _) (c :: _) -> _rhs (concat (map (rasterizePrimitive b a) c))
931'ImageLC 931'ImageLC
932 = (\(a :: _) -> match'Image \_ -> _ \(b :: _) -> \_ -> _rhs b a undefined) 932 = (\(a :: _) -> match'Image (\_ -> _) (\(b :: _) -> \_ -> _rhs b) a undefined)
933 :: Type -> Nat 933 :: Type -> Nat
934allSame 934allSame
935 = (\(a :: _) -> case'List 935 = (\(a :: _) -> case'List
936 \_ -> _ :: _ 936 (\_ -> _ :: _)
937 (_rhs 'Unit) 937 (_rhs 'Unit)
938 \(b :: _) (c :: _) -> case'List 938 (\(b :: _) (c :: _) -> case'List
939 \_ -> _ :: _ 939 (\_ -> _ :: _)
940 (_rhs 'Unit) 940 (_rhs 'Unit)
941 \(d :: _) (e :: _) -> _rhs ('T2 (b `'EqCTt` d) (allSame (d : e))) 941 (\(d :: _) (e :: _) -> _rhs ('T2 (b `'EqCTt` d) (allSame (d : e))))
942 c 942 c)
943 a) 943 a)
944 :: forall (f :: _) . [f] -> Type 944 :: forall (f :: _) . [f] -> Type
945sameLayerCounts = \(a :: _) -> _rhs (allSame (map 'ImageLC a)) 945sameLayerCounts = \(a :: _) -> _rhs (allSame (map 'ImageLC a))
@@ -947,18 +947,22 @@ data FrameBuffer (_ :: Nat) (_ :: [ImageKind]) :: Type where
947 947
948imageType' 948imageType'
949 = (\(a :: _) -> case'List 949 = (\(a :: _) -> case'List
950 \_ -> _ :: _ 950 (\_ -> _ :: _)
951 (_rhs (map imageType a)) 951 (_rhs (map imageType a))
952 \(b :: _) (c :: _) -> case'ImageKind 952 (\(b :: _) (c :: _) -> case'ImageKind
953 \_ -> _ :: _ 953 (\_ -> _ :: _)
954 \_ -> _rhs (map imageType a) 954 (\_ -> _rhs (map imageType a))
955 (_rhs (map imageType c)) 955 (_rhs (map imageType c))
956 (_rhs (map imageType a)) 956 (_rhs (map imageType a))
957 b 957 b)
958 a) 958 a)
959 :: [ImageKind] -> [Type] 959 :: [ImageKind] -> [Type]
960'FragmentOperationKind 960'FragmentOperationKind
961 = (\(a :: _) -> match'FragmentOperation \_ -> _ \(b :: _) -> _rhs b a undefined) 961 = (\(a :: _) -> match'FragmentOperation
962 (\_ -> _)
963 (\(b :: _) -> _rhs b)
964 a
965 undefined)
962 :: Type -> ImageKind 966 :: Type -> ImageKind
963Accumulate 967Accumulate
964 :: forall (a :: _) (b :: Nat) (c :: [Type]) 968 :: forall (a :: _) (b :: Nat) (c :: [Type])
@@ -969,14 +973,14 @@ accumulateWith = \(a :: _) (b :: _) -> _rhs (HCons a (HCons b HNil))
969overlay 973overlay
970 = \(a :: _) (b :: _) -> hlistConsCase 974 = \(a :: _) (b :: _) -> hlistConsCase
971 (_ :: _) 975 (_ :: _)
972 \(c :: _) (d :: _) -> hlistConsCase 976 (\(c :: _) (d :: _) -> hlistConsCase
973 (_ :: _) 977 (_ :: _)
974 \(e :: _) (f :: _) -> hlistNilCase (_ :: _) (_rhs (Accumulate c e a)) f 978 (\(e :: _) (f :: _) -> hlistNilCase (_ :: _) (_rhs (Accumulate c e a)) f)
975 d 979 d)
976 b 980 b
977infixl 0 overlay 981infixl 0 overlay
978'GetImageKind 982'GetImageKind
979 = (\(a :: _) -> match'Image \_ -> _ \_ (b :: _) -> _rhs b a undefined) 983 = (\(a :: _) -> match'Image (\_ -> _) (\_ (b :: _) -> _rhs b) a undefined)
980 :: Type -> ImageKind 984 :: Type -> ImageKind
981FrameBuffer 985FrameBuffer
982 :: forall (a :: [Type]) 986 :: forall (a :: [Type])
diff --git a/testdata/Internals.out b/testdata/Internals.out
index cf9fb31e..c55525d7 100644
--- a/testdata/Internals.out
+++ b/testdata/Internals.out
@@ -51,141 +51,149 @@ primModInt :: Int -> Int -> Int
51primSqrtFloat :: Float -> Float 51primSqrtFloat :: Float -> Float
52primRound :: Float -> Int 52primRound :: Float -> Int
53primIfThenElse 53primIfThenElse
54 = (\(a :: _) (b :: _) (c :: _) -> case'Bool \_ -> _ :: _ (_rhs c) (_rhs b) a) 54 = (\(a :: _) (b :: _) (c :: _) -> case'Bool (\_ -> _ :: _) (_rhs c) (_rhs b) a)
55 :: forall (d :: _) . Bool -> d -> d -> d 55 :: forall (d :: _) . Bool -> d -> d -> d
56isEQ 56isEQ
57 = \(a :: _) -> case'Ordering 57 = \(a :: _) -> case'Ordering
58 \_ -> _ :: _ 58 (\_ -> _ :: _)
59 (_rhs False) 59 (_rhs False)
60 (_rhs True) 60 (_rhs True)
61 (_rhs False) 61 (_rhs False)
62 a 62 a
63'Num 63'Num
64 = (\(a :: _) -> match'Int 64 = (\(a :: _) -> match'Int
65 \_ -> _ 65 (\_ -> _)
66 (_rhs 'Unit) 66 (_rhs 'Unit)
67 a 67 a
68 (match'Word 68 (match'Word
69 \_ -> _ 69 (\_ -> _)
70 (_rhs 'Unit) 70 (_rhs 'Unit)
71 a 71 a
72 (match'Float 72 (match'Float
73 \_ -> _ 73 (\_ -> _)
74 (_rhs 'Unit) 74 (_rhs 'Unit)
75 a 75 a
76 (match'Nat 76 (match'Nat
77 \_ -> _ 77 (\_ -> _)
78 (_rhs 'Unit) 78 (_rhs 'Unit)
79 a 79 a
80 (_rhs ('Empty "no instance of 'Num on ???")))))) 80 (_rhs ('Empty "no instance of 'Num on ???"))))))
81 :: Type -> Type 81 :: Type -> Type
82fromInt 82fromInt
83 = (\ @a -> \ @_ -> match'Int 83 = (\ @a -> \ @_ -> match'Int
84 \_ -> _ 84 (\_ -> _)
85 (_rhs \(b := _rhs \(c :: _) -> c) -> b) 85 (_rhs \(b := _rhs \(c :: _) -> c) -> b)
86 a 86 a
87 (match'Word 87 (match'Word
88 \_ -> _ 88 (\_ -> _)
89 (_rhs \(d := _rhs primIntToWord) -> d) 89 (_rhs \(d := _rhs primIntToWord) -> d)
90 a 90 a
91 (match'Float 91 (match'Float
92 \_ -> _ 92 (\_ -> _)
93 (_rhs \(e := _rhs primIntToFloat) -> e) 93 (_rhs \(e := _rhs primIntToFloat) -> e)
94 a 94 a
95 (match'Nat \_ -> _ (_rhs \(f := _rhs primIntToNat) -> f) a (_rhs undefined))))) 95 (match'Nat
96 (\_ -> _)
97 (_rhs \(f := _rhs primIntToNat) -> f)
98 a
99 (_rhs undefined)))))
96 :: forall g . Num g => Int -> g 100 :: forall g . Num g => Int -> g
97compare 101compare
98 = (\ @a -> \ @_ -> match'Int 102 = (\ @a -> \ @_ -> match'Int
99 \_ -> _ 103 (\_ -> _)
100 (_rhs \(b := _rhs primCompareInt) -> b) 104 (_rhs \(b := _rhs primCompareInt) -> b)
101 a 105 a
102 (match'Word 106 (match'Word
103 \_ -> _ 107 (\_ -> _)
104 (_rhs \(c := _rhs primCompareWord) -> c) 108 (_rhs \(c := _rhs primCompareWord) -> c)
105 a 109 a
106 (match'Float 110 (match'Float
107 \_ -> _ 111 (\_ -> _)
108 (_rhs \(d := _rhs primCompareFloat) -> d) 112 (_rhs \(d := _rhs primCompareFloat) -> d)
109 a 113 a
110 (match'Nat \_ -> _ (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined))))) 114 (match'Nat (\_ -> _) (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined)))))
111 :: forall f . Num f => f -> f -> Ordering 115 :: forall f . Num f => f -> f -> Ordering
112negate 116negate
113 = (\ @a -> \ @_ -> match'Int 117 = (\ @a -> \ @_ -> match'Int
114 \_ -> _ 118 (\_ -> _)
115 (_rhs \(b := _rhs primNegateInt) -> b) 119 (_rhs \(b := _rhs primNegateInt) -> b)
116 a 120 a
117 (match'Word 121 (match'Word
118 \_ -> _ 122 (\_ -> _)
119 (_rhs \(c := _rhs primNegateWord) -> c) 123 (_rhs \(c := _rhs primNegateWord) -> c)
120 a 124 a
121 (match'Float 125 (match'Float
122 \_ -> _ 126 (\_ -> _)
123 (_rhs \(d := _rhs primNegateFloat) -> d) 127 (_rhs \(d := _rhs primNegateFloat) -> d)
124 a 128 a
125 (match'Nat \_ -> _ (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined))))) 129 (match'Nat (\_ -> _) (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined)))))
126 :: forall f . Num f => f -> f 130 :: forall f . Num f => f -> f
127'Eq 131'Eq
128 = (\(a :: _) -> match'String 132 = (\(a :: _) -> match'String
129 \_ -> _ 133 (\_ -> _)
130 (_rhs 'Unit) 134 (_rhs 'Unit)
131 a 135 a
132 (match'Char 136 (match'Char
133 \_ -> _ 137 (\_ -> _)
134 (_rhs 'Unit) 138 (_rhs 'Unit)
135 a 139 a
136 (match'Int 140 (match'Int
137 \_ -> _ 141 (\_ -> _)
138 (_rhs 'Unit) 142 (_rhs 'Unit)
139 a 143 a
140 (match'Float 144 (match'Float
141 \_ -> _ 145 (\_ -> _)
142 (_rhs 'Unit) 146 (_rhs 'Unit)
143 a 147 a
144 (match'Bool 148 (match'Bool
145 \_ -> _ 149 (\_ -> _)
146 (_rhs 'Unit) 150 (_rhs 'Unit)
147 a 151 a
148 (match'Nat 152 (match'Nat
149 \_ -> _ 153 (\_ -> _)
150 (_rhs 'Unit) 154 (_rhs 'Unit)
151 a 155 a
152 (_rhs ('Empty "no instance of 'Eq on ???")))))))) 156 (_rhs ('Empty "no instance of 'Eq on ???"))))))))
153 :: Type -> Type 157 :: Type -> Type
154== 158==
155 = (\ @a -> \ @_ -> match'String 159 = (\ @a -> \ @_ -> match'String
156 \_ -> _ 160 (\_ -> _)
157 (_rhs \(b := \(c :: _) (d :: _) -> _rhs (isEQ (primCompareString c d))) -> b) 161 (_rhs \(b := \(c :: _) (d :: _) -> _rhs (isEQ (primCompareString c d))) -> b)
158 a 162 a
159 (match'Char 163 (match'Char
160 \_ -> _ 164 (\_ -> _)
161 (_rhs \(e := \(f :: _) (g :: _) -> _rhs (isEQ (primCompareChar f g))) -> e) 165 (_rhs \(e := \(f :: _) (g :: _) -> _rhs (isEQ (primCompareChar f g))) -> e)
162 a 166 a
163 (match'Int 167 (match'Int
164 \_ -> _ 168 (\_ -> _)
165 (_rhs \(h := \(i :: _) (j :: _) -> _rhs (isEQ (primCompareInt i j))) -> h) 169 (_rhs \(h := \(i :: _) (j :: _) -> _rhs (isEQ (primCompareInt i j))) -> h)
166 a 170 a
167 (match'Float 171 (match'Float
168 \_ -> _ 172 (\_ -> _)
169 (_rhs \(k := \(l :: _) (m :: _) -> _rhs (isEQ (primCompareFloat l m))) -> k) 173 (_rhs \(k := \(l :: _) (m :: _) -> _rhs (isEQ (primCompareFloat l m))) -> k)
170 a 174 a
171 (match'Bool 175 (match'Bool
172 \_ -> _ 176 (\_ -> _)
173 (_rhs 177 (_rhs
174 \(n 178 \(n
175 := \(o :: _) (p :: _) -> case'Bool 179 := \(o :: _) (p :: _) -> case'Bool
176 \_ -> _ :: _ 180 (\_ -> _ :: _)
177 (case'Bool \_ -> _ :: _ (_rhs True) (_rhs False) p) 181 (case'Bool (\_ -> _ :: _) (_rhs True) (_rhs False) p)
178 (case'Bool \_ -> _ :: _ (_rhs False) (_rhs True) p) 182 (case'Bool (\_ -> _ :: _) (_rhs False) (_rhs True) p)
179 o) -> n) 183 o) -> n)
180 a 184 a
181 (match'Nat 185 (match'Nat
182 \_ -> _ 186 (\_ -> _)
183 (_rhs 187 (_rhs
184 \(q 188 \(q
185 := \(r :: _) (s :: _) -> case'Nat 189 := \(r :: _) (s :: _) -> case'Nat
186 \_ -> _ :: _ 190 (\_ -> _ :: _)
187 (case'Nat \_ -> _ :: _ (_rhs True) \_ -> _rhs False s) 191 (case'Nat (\_ -> _ :: _) (_rhs True) (\_ -> _rhs False) s)
188 \(t :: _) -> case'Nat \_ -> _ :: _ (_rhs False) \(u :: _) -> _rhs (t == u) s 192 (\(t :: _) -> case'Nat
193 (\_ -> _ :: _)
194 (_rhs False)
195 (\(u :: _) -> _rhs (t == u))
196 s)
189 r) -> q) 197 r) -> q)
190 a 198 a
191 (_rhs undefined))))))) 199 (_rhs undefined)))))))
diff --git a/testdata/Material.out b/testdata/Material.out
index 9f503a21..67f8b209 100644
--- a/testdata/Material.out
+++ b/testdata/Material.out
@@ -6,13 +6,16 @@ data Entity :: Type where
6 -> Vec (fromInt 4) Float 6 -> Vec (fromInt 4) Float
7 -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity 7 -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity
8eAmbientLight 8eAmbientLight
9 = \(a :: _) -> case'Entity \_ -> _ :: _ \(b :: _) -> \_ -> \_ -> \_ -> _rhs b a 9 = \(a :: _) -> case'Entity
10 (\_ -> _ :: _)
11 (\(b :: _) -> \_ -> \_ -> \_ -> _rhs b)
12 a
10eDirectedLight 13eDirectedLight
11 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ (b :: _) -> \_ -> \_ -> _rhs b a 14 = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ (b :: _) -> \_ -> \_ -> _rhs b) a
12eLightDir 15eLightDir
13 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ (b :: _) -> \_ -> _rhs b a 16 = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ -> \_ (b :: _) -> \_ -> _rhs b) a
14eShaderRGBA 17eShaderRGBA
15 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ -> \_ (b :: _) -> _rhs b a 18 = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ -> \_ -> \_ (b :: _) -> _rhs b) a
16data WaveType :: Type where 19data WaveType :: Type where
17 WT_Sin :: WaveType 20 WT_Sin :: WaveType
18 WT_Triangle :: WaveType 21 WT_Triangle :: WaveType
@@ -114,58 +117,59 @@ data StageAttrs :: Type where
114 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs 117 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs
115saBlend 118saBlend
116 = \(a :: _) -> case'StageAttrs 119 = \(a :: _) -> case'StageAttrs
117 \_ -> _ :: _ 120 (\_ -> _ :: _)
118 \(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 121 (\(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
122 b)
119 a 123 a
120saRGBGen 124saRGBGen
121 = \(a :: _) -> case'StageAttrs 125 = \(a :: _) -> case'StageAttrs
122 \_ -> _ :: _ 126 (\_ -> _ :: _)
123 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 127 (\_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b)
124 a 128 a
125saAlphaGen 129saAlphaGen
126 = \(a :: _) -> case'StageAttrs 130 = \(a :: _) -> case'StageAttrs
127 \_ -> _ :: _ 131 (\_ -> _ :: _)
128 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 132 (\_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b)
129 a 133 a
130saTCGen 134saTCGen
131 = \(a :: _) -> case'StageAttrs 135 = \(a :: _) -> case'StageAttrs
132 \_ -> _ :: _ 136 (\_ -> _ :: _)
133 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 137 (\_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b)
134 a 138 a
135saTCMod 139saTCMod
136 = \(a :: _) -> case'StageAttrs 140 = \(a :: _) -> case'StageAttrs
137 \_ -> _ :: _ 141 (\_ -> _ :: _)
138 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 142 (\_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b)
139 a 143 a
140saTexture 144saTexture
141 = \(a :: _) -> case'StageAttrs 145 = \(a :: _) -> case'StageAttrs
142 \_ -> _ :: _ 146 (\_ -> _ :: _)
143 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 147 (\_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b)
144 a 148 a
145saDepthWrite 149saDepthWrite
146 = \(a :: _) -> case'StageAttrs 150 = \(a :: _) -> case'StageAttrs
147 \_ -> _ :: _ 151 (\_ -> _ :: _)
148 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b 152 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b)
149 a 153 a
150saDepthFunc 154saDepthFunc
151 = \(a :: _) -> case'StageAttrs 155 = \(a :: _) -> case'StageAttrs
152 \_ -> _ :: _ 156 (\_ -> _ :: _)
153 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b 157 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b)
154 a 158 a
155saAlphaFunc 159saAlphaFunc
156 = \(a :: _) -> case'StageAttrs 160 = \(a :: _) -> case'StageAttrs
157 \_ -> _ :: _ 161 (\_ -> _ :: _)
158 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b 162 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b)
159 a 163 a
160saDepthMaskExplicit 164saDepthMaskExplicit
161 = \(a :: _) -> case'StageAttrs 165 = \(a :: _) -> case'StageAttrs
162 \_ -> _ :: _ 166 (\_ -> _ :: _)
163 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b 167 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b)
164 a 168 a
165saTextureUniform 169saTextureUniform
166 = \(a :: _) -> case'StageAttrs 170 = \(a :: _) -> case'StageAttrs
167 \_ -> _ :: _ 171 (\_ -> _ :: _)
168 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b 172 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b)
169 a 173 a
170defaultStageAttrs 174defaultStageAttrs
171 = _rhs 175 = _rhs
@@ -193,76 +197,76 @@ data CommonAttrs :: Type where
193 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs 197 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs
194caSkyParms 198caSkyParms
195 = \(a :: _) -> case'CommonAttrs 199 = \(a :: _) -> case'CommonAttrs
196 \_ -> _ :: _ 200 (\_ -> _ :: _)
197 \(b 201 (\(b
198 :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 202 :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
199 b 203 b)
200 a 204 a
201caFogParms 205caFogParms
202 = \(a :: _) -> case'CommonAttrs 206 = \(a :: _) -> case'CommonAttrs
203 \_ -> _ :: _ 207 (\_ -> _ :: _)
204 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 208 (\_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
205 b 209 b)
206 a 210 a
207caPortal 211caPortal
208 = \(a :: _) -> case'CommonAttrs 212 = \(a :: _) -> case'CommonAttrs
209 \_ -> _ :: _ 213 (\_ -> _ :: _)
210 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 214 (\_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
211 b 215 b)
212 a 216 a
213caSort 217caSort
214 = \(a :: _) -> case'CommonAttrs 218 = \(a :: _) -> case'CommonAttrs
215 \_ -> _ :: _ 219 (\_ -> _ :: _)
216 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 220 (\_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
217 b 221 b)
218 a 222 a
219caEntityMergable 223caEntityMergable
220 = \(a :: _) -> case'CommonAttrs 224 = \(a :: _) -> case'CommonAttrs
221 \_ -> _ :: _ 225 (\_ -> _ :: _)
222 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 226 (\_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
223 b 227 b)
224 a 228 a
225caFogOnly 229caFogOnly
226 = \(a :: _) -> case'CommonAttrs 230 = \(a :: _) -> case'CommonAttrs
227 \_ -> _ :: _ 231 (\_ -> _ :: _)
228 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 232 (\_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
229 b 233 b)
230 a 234 a
231caCull 235caCull
232 = \(a :: _) -> case'CommonAttrs 236 = \(a :: _) -> case'CommonAttrs
233 \_ -> _ :: _ 237 (\_ -> _ :: _)
234 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 238 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
235 b 239 b)
236 a 240 a
237caDeformVertexes 241caDeformVertexes
238 = \(a :: _) -> case'CommonAttrs 242 = \(a :: _) -> case'CommonAttrs
239 \_ -> _ :: _ 243 (\_ -> _ :: _)
240 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs 244 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs
241 b 245 b)
242 a 246 a
243caNoMipMaps 247caNoMipMaps
244 = \(a :: _) -> case'CommonAttrs 248 = \(a :: _) -> case'CommonAttrs
245 \_ -> _ :: _ 249 (\_ -> _ :: _)
246 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs 250 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs
247 b 251 b)
248 a 252 a
249caPolygonOffset 253caPolygonOffset
250 = \(a :: _) -> case'CommonAttrs 254 = \(a :: _) -> case'CommonAttrs
251 \_ -> _ :: _ 255 (\_ -> _ :: _)
252 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs 256 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs
253 b 257 b)
254 a 258 a
255caStages 259caStages
256 = \(a :: _) -> case'CommonAttrs 260 = \(a :: _) -> case'CommonAttrs
257 \_ -> _ :: _ 261 (\_ -> _ :: _)
258 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs 262 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs
259 b 263 b)
260 a 264 a
261caIsSky 265caIsSky
262 = \(a :: _) -> case'CommonAttrs 266 = \(a :: _) -> case'CommonAttrs
263 \_ -> _ :: _ 267 (\_ -> _ :: _)
264 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs 268 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs
265 b 269 b)
266 a 270 a
267defaultCommonAttrs 271defaultCommonAttrs
268 = _rhs 272 = _rhs
diff --git a/testdata/Prelude.out b/testdata/Prelude.out
index 88464b4e..9f79ca67 100644
--- a/testdata/Prelude.out
+++ b/testdata/Prelude.out
@@ -13,43 +13,43 @@ $ = _rhs \(a :: _) (b :: _) -> a b
13uncurry 13uncurry
14 = \(a :: _) (b :: _) -> hlistConsCase 14 = \(a :: _) (b :: _) -> hlistConsCase
15 (_ :: _) 15 (_ :: _)
16 \(c :: _) (d :: _) -> hlistConsCase 16 (\(c :: _) (d :: _) -> hlistConsCase
17 (_ :: _) 17 (_ :: _)
18 \(e :: _) (f :: _) -> hlistNilCase (_ :: _) (_rhs (a c e)) f 18 (\(e :: _) (f :: _) -> hlistNilCase (_ :: _) (_rhs (a c e)) f)
19 d 19 d)
20 b 20 b
21*** 21***
22 = \(a :: _) (b :: _) (c :: _) -> hlistConsCase 22 = \(a :: _) (b :: _) (c :: _) -> hlistConsCase
23 (_ :: _) 23 (_ :: _)
24 \(d :: _) (e :: _) -> hlistConsCase 24 (\(d :: _) (e :: _) -> hlistConsCase
25 (_ :: _) 25 (_ :: _)
26 \(f :: _) (g :: _) -> hlistNilCase 26 (\(f :: _) (g :: _) -> hlistNilCase
27 (_ :: _) 27 (_ :: _)
28 (_rhs (HCons (a d) (HCons (b f) HNil))) 28 (_rhs (HCons (a d) (HCons (b f) HNil)))
29 g 29 g)
30 e 30 e)
31 c 31 c
32pi = _rhs 3.141592653589793 32pi = _rhs 3.141592653589793
33zip 33zip
34 = (\(a :: _) (b :: _) -> case'List 34 = (\(a :: _) (b :: _) -> case'List
35 \_ -> _ :: _ 35 (\_ -> _ :: _)
36 (_rhs []) 36 (_rhs [])
37 \(c :: _) (d :: _) -> case'List 37 (\(c :: _) (d :: _) -> case'List
38 \_ -> _ :: _ 38 (\_ -> _ :: _)
39 (_rhs []) 39 (_rhs [])
40 \(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip d f) 40 (\(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip d f))
41 b 41 b)
42 a) 42 a)
43 :: forall (g :: _) (h :: _) . [g] -> [h] -> [HList (g : h : '[])] 43 :: forall (g :: _) (h :: _) . [g] -> [h] -> [HList (g : h : '[])]
44unzip 44unzip
45 = (\(a :: _) -> case'List 45 = (\(a :: _) -> case'List
46 \_ -> _ :: _ 46 (\_ -> _ :: _)
47 (_rhs (HCons [] (HCons [] HNil))) 47 (_rhs (HCons [] (HCons [] HNil)))
48 \(b :: _) (c :: _) -> hlistConsCase 48 (\(b :: _) (c :: _) -> hlistConsCase
49 (_ :: _) 49 (_ :: _)
50 \(d :: _) (e :: _) -> hlistConsCase 50 (\(d :: _) (e :: _) -> hlistConsCase
51 (_ :: _) 51 (_ :: _)
52 \(f :: _) (g :: _) -> hlistNilCase 52 (\(f :: _) (g :: _) -> hlistNilCase
53 (_ :: _) 53 (_ :: _)
54 (_rhs 54 (_rhs
55 \(h := _rhs (unzip c)) 55 \(h := _rhs (unzip c))
@@ -57,105 +57,109 @@ unzip
57 := _rhs 57 := _rhs
58 ((\(k :: _) -> hlistConsCase 58 ((\(k :: _) -> hlistConsCase
59 (_ :: _) 59 (_ :: _)
60 \_ (l :: _) -> hlistConsCase 60 (\_ (l :: _) -> hlistConsCase
61 (_ :: _) 61 (_ :: _)
62 \(m :: _) (n :: _) -> hlistNilCase (_ :: _) m n 62 (\(m :: _) (n :: _) -> hlistNilCase (_ :: _) m n)
63 l 63 l)
64 k) 64 k)
65 h)) 65 h))
66 (j 66 (j
67 := _rhs 67 := _rhs
68 ((\(o :: _) -> hlistConsCase 68 ((\(o :: _) -> hlistConsCase
69 (_ :: _) 69 (_ :: _)
70 \(p :: _) (q :: _) -> hlistConsCase 70 (\(p :: _) (q :: _) -> hlistConsCase
71 (_ :: _) 71 (_ :: _)
72 \_ (r :: _) -> hlistNilCase (_ :: _) p r 72 (\_ (r :: _) -> hlistNilCase (_ :: _) p r)
73 q 73 q)
74 o) 74 o)
75 h)) -> HCons (d : j) (HCons (f : i) HNil)) 75 h)) -> HCons (d : j) (HCons (f : i) HNil))
76 g 76 g)
77 e 77 e)
78 b 78 b)
79 a) 79 a)
80 :: forall (s :: _) (t :: _) . [HList (s : t : '[])] -> HList ([s] : [t] : '[]) 80 :: forall (s :: _) (t :: _) . [HList (s : t : '[])] -> HList ([s] : [t] : '[])
81filter 81filter
82 = \(a :: _) (b :: _) -> case'List 82 = \(a :: _) (b :: _) -> case'List
83 \_ -> _ :: _ 83 (\_ -> _ :: _)
84 (_rhs []) 84 (_rhs [])
85 \(c :: _) (d :: _) -> _rhs 85 (\(c :: _) (d :: _) -> _rhs
86 ((\(e :: _) -> case'Bool \_ -> _ :: _ (filter a d) (c : filter a d) e) (a c)) 86 ((\(e :: _) -> case'Bool (\_ -> _ :: _) (filter a d) (c : filter a d) e) (a c)))
87 b 87 b
88tail 88tail
89 = (\(a :: _) -> case'List \_ -> _ :: _ (_rhs undefined) \_ (b :: _) -> _rhs b a) 89 = (\(a :: _) -> case'List
90 (\_ -> _ :: _)
91 (_rhs undefined)
92 (\_ (b :: _) -> _rhs b)
93 a)
90 :: forall (c :: _) . [c] -> [c] 94 :: forall (c :: _) . [c] -> [c]
91pairs 95pairs
92 = (\(a :: _) -> _rhs (zip a (tail a))) 96 = (\(a :: _) -> _rhs (zip a (tail a)))
93 :: forall (b :: _) . [b] -> [HList (b : b : '[])] 97 :: forall (b :: _) . [b] -> [HList (b : b : '[])]
94foldl' 98foldl'
95 = \(a :: _) (b :: _) (c :: _) -> case'List 99 = \(a :: _) (b :: _) (c :: _) -> case'List
96 \_ -> _ :: _ 100 (\_ -> _ :: _)
97 (_rhs b) 101 (_rhs b)
98 \(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e) 102 (\(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e))
99 c 103 c
100foldr1 104foldr1
101 = \(a :: _) (b :: _) -> case'List 105 = \(a :: _) (b :: _) -> case'List
102 \_ -> _ :: _ 106 (\_ -> _ :: _)
103 (_rhs undefined) 107 (_rhs undefined)
104 \(c :: _) (d :: _) -> _rhs (foldr a c d) 108 (\(c :: _) (d :: _) -> _rhs (foldr a c d))
105 b 109 b
106split 110split
107 = \(a :: _) -> case'List 111 = \(a :: _) -> case'List
108 \_ -> _ :: _ 112 (\_ -> _ :: _)
109 (_rhs (HCons [] (HCons [] HNil))) 113 (_rhs (HCons [] (HCons [] HNil)))
110 \(b :: _) (c :: _) -> _rhs 114 (\(b :: _) (c :: _) -> _rhs
111 \(d := _rhs (split c)) 115 \(d := _rhs (split c))
112 (e 116 (e
113 := _rhs 117 := _rhs
114 ((\(g :: _) -> hlistConsCase 118 ((\(g :: _) -> hlistConsCase
115 (_ :: _) 119 (_ :: _)
116 \_ (h :: _) -> hlistConsCase 120 (\_ (h :: _) -> hlistConsCase
117 (_ :: _) 121 (_ :: _)
118 \(i :: _) (j :: _) -> hlistNilCase (_ :: _) i j 122 (\(i :: _) (j :: _) -> hlistNilCase (_ :: _) i j)
119 h 123 h)
120 g) 124 g)
121 d)) 125 d))
122 (f 126 (f
123 := _rhs 127 := _rhs
124 ((\(k :: _) -> hlistConsCase 128 ((\(k :: _) -> hlistConsCase
125 (_ :: _) 129 (_ :: _)
126 \(l :: _) (m :: _) -> hlistConsCase 130 (\(l :: _) (m :: _) -> hlistConsCase
127 (_ :: _) 131 (_ :: _)
128 \_ (n :: _) -> hlistNilCase (_ :: _) l n 132 (\_ (n :: _) -> hlistNilCase (_ :: _) l n)
129 m 133 m)
130 k) 134 k)
131 d)) -> HCons (b : e) (HCons f HNil) 135 d)) -> HCons (b : e) (HCons f HNil))
132 a 136 a
133mergeBy 137mergeBy
134 = \(a :: _) (b :: _) (c :: _) -> case'List 138 = \(a :: _) (b :: _) (c :: _) -> case'List
135 \_ -> _ :: _ 139 (\_ -> _ :: _)
136 (_rhs c) 140 (_rhs c)
137 \(d :: _) (e :: _) -> case'List 141 (\(d :: _) (e :: _) -> case'List
138 \_ -> _ :: _ 142 (\_ -> _ :: _)
139 (_rhs b) 143 (_rhs b)
140 \(f :: _) (g :: _) -> _rhs 144 (\(f :: _) (g :: _) -> _rhs
141 ((\(h :: _) -> case'Ordering 145 ((\(h :: _) -> case'Ordering
142 \_ -> _ :: _ 146 (\_ -> _ :: _)
143 (d : mergeBy a e (f : g)) 147 (d : mergeBy a e (f : g))
144 (f : mergeBy a (d : e) g) 148 (f : mergeBy a (d : e) g)
145 (f : mergeBy a (d : e) g) 149 (f : mergeBy a (d : e) g)
146 h) 150 h)
147 (a d f)) 151 (a d f)))
148 c 152 c)
149 b 153 b
150sortBy 154sortBy
151 = \(a :: _) (b :: _) -> case'List 155 = \(a :: _) (b :: _) -> case'List
152 \_ -> _ :: _ 156 (\_ -> _ :: _)
153 (_rhs []) 157 (_rhs [])
154 \(c :: _) (d :: _) -> case'List 158 (\(c :: _) (d :: _) -> case'List
155 \_ -> _ :: _ 159 (\_ -> _ :: _)
156 (_rhs (c : [])) 160 (_rhs (c : []))
157 \_ -> \_ -> _rhs (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b))) 161 (\_ -> \_ -> _rhs (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b))))
158 d 162 d)
159 b 163 b
160iterate 164iterate
161 = (\(a :: _) (b :: _) -> _rhs (b : iterate a (a b))) 165 = (\(a :: _) (b :: _) -> _rhs (b : iterate a (a b)))
@@ -163,50 +167,50 @@ iterate
163fst 167fst
164 = \(a :: _) -> hlistConsCase 168 = \(a :: _) -> hlistConsCase
165 (_ :: _) 169 (_ :: _)
166 \(b :: _) (c :: _) -> hlistConsCase 170 (\(b :: _) (c :: _) -> hlistConsCase
167 (_ :: _) 171 (_ :: _)
168 \_ (d :: _) -> hlistNilCase (_ :: _) (_rhs b) d 172 (\_ (d :: _) -> hlistNilCase (_ :: _) (_rhs b) d)
169 c 173 c)
170 a 174 a
171snd 175snd
172 = \(a :: _) -> hlistConsCase 176 = \(a :: _) -> hlistConsCase
173 (_ :: _) 177 (_ :: _)
174 \_ (b :: _) -> hlistConsCase 178 (\_ (b :: _) -> hlistConsCase
175 (_ :: _) 179 (_ :: _)
176 \(c :: _) (d :: _) -> hlistNilCase (_ :: _) (_rhs c) d 180 (\(c :: _) (d :: _) -> hlistNilCase (_ :: _) (_rhs c) d)
177 b 181 b)
178 a 182 a
179||| = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs b) (_rhs True) a 183||| = \(a :: _) (b :: _) -> case'Bool (\_ -> _ :: _) (_rhs b) (_rhs True) a
180infixr 2 ||| 184infixr 2 |||
181&&& = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs False) (_rhs b) a 185&&& = \(a :: _) (b :: _) -> case'Bool (\_ -> _ :: _) (_rhs False) (_rhs b) a
182infixr 3 &&& 186infixr 3 &&&
183data RecItem :: Type where 187data RecItem :: Type where
184 RecItem :: String -> Type -> RecItem 188 RecItem :: String -> Type -> RecItem
185recItemType = \(a :: _) -> case'RecItem \_ -> _ :: _ \_ (b :: _) -> _rhs b a 189recItemType = \(a :: _) -> case'RecItem (\_ -> _ :: _) (\_ (b :: _) -> _rhs b) a
186data RecordC (_ :: [RecItem]) :: Type where 190data RecordC (_ :: [RecItem]) :: Type where
187 RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a 191 RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a
188isKeyC 192isKeyC
189 = \(a :: _) (b :: _) (c :: _) -> case'List 193 = \(a :: _) (b :: _) (c :: _) -> case'List
190 \_ -> _ :: _ 194 (\_ -> _ :: _)
191 (_rhs ('Empty "")) 195 (_rhs ('Empty ""))
192 \(d :: _) (e :: _) -> case'RecItem 196 (\(d :: _) (e :: _) -> case'RecItem
193 \_ -> _ :: _ 197 (\_ -> _ :: _)
194 \(f :: _) (g :: _) -> _rhs 198 (\(f :: _) (g :: _) -> _rhs
195 (primIfThenElse (a == f) (b `'EqCTt` g) (isKeyC a b e)) 199 (primIfThenElse (a == f) (b `'EqCTt` g) (isKeyC a b e)))
196 d 200 d)
197 c 201 c
198fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) -> \_ -> a) 202fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) -> \_ -> a)
199sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a) 203sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a)
200project 204project
201 = (\ @(a :: _) @(b :: _) (c :: _) -> \ @_ (d :: _) -> case'List 205 = (\ @(a :: _) @(b :: _) (c :: _) -> \ @_ (d :: _) -> case'List
202 \_ -> _ :: _ 206 (\_ -> _ :: _)
203 (_rhs undefined) 207 (_rhs undefined)
204 \(e :: _) (f :: _) -> case'RecItem 208 (\(e :: _) (f :: _) -> case'RecItem
205 \_ -> _ :: _ 209 (\_ -> _ :: _)
206 \(g :: _) -> \_ -> case'RecordC 210 (\(g :: _) -> \_ -> case'RecordC
207 \_ -> _ :: _ 211 (\_ -> _ :: _)
208 \(h :: _) -> case'Bool 212 (\(h :: _) -> case'Bool
209 \_ -> _ :: _ 213 (\_ -> _ :: _)
210 (_rhs 214 (_rhs
211 (project 215 (project
212 @a 216 @a
@@ -216,9 +220,9 @@ project
216 (RecordCons 220 (RecordCons
217 (sndTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h))))) 221 (sndTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h)))))
218 (_rhs (fstTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h))) 222 (_rhs (fstTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h)))
219 (c == g) 223 (c == g))
220 d 224 d)
221 e 225 e)
222 b) 226 b)
223 :: forall (i :: _) (j :: [RecItem]) 227 :: forall (i :: _) (j :: [RecItem])
224 . forall (k :: String) -> isKeyC k i j => RecordC j -> i 228 . forall (k :: String) -> isKeyC k i j => RecordC j -> i
@@ -450,20 +454,20 @@ lookat
450scale = \(a :: _) (b :: _) -> _rhs (b * V4 a a a 1.0) 454scale = \(a :: _) (b :: _) -> _rhs (b * V4 a a a 1.0)
451fromTo 455fromTo
452 = (\(a :: _) (b :: _) -> case'Bool 456 = (\(a :: _) (b :: _) -> case'Bool
453 \_ -> _ :: _ 457 (\_ -> _ :: _)
454 (_rhs (a : fromTo (a + fromInt 1) b)) 458 (_rhs (a : fromTo (a + fromInt 1) b))
455 (_rhs []) 459 (_rhs [])
456 (a > b)) 460 (a > b))
457 :: Float -> Float -> [Float] 461 :: Float -> Float -> [Float]
458!! 462!!
459 = (\(a :: _) (b :: _) -> case'List 463 = (\(a :: _) (b :: _) -> case'List
460 \_ -> _ :: _ 464 (\_ -> _ :: _)
461 (_rhs undefined) 465 (_rhs undefined)
462 \(c :: _) (d :: _) -> case'Bool 466 (\(c :: _) (d :: _) -> case'Bool
463 \_ -> _ :: _ 467 (\_ -> _ :: _)
464 (_rhs (d !! (b - fromInt 1))) 468 (_rhs (d !! (b - fromInt 1)))
465 (_rhs c) 469 (_rhs c)
466 (fromInt 0 == b) 470 (fromInt 0 == b))
467 a) 471 a)
468 :: forall (e :: _) . [e] -> Int -> e 472 :: forall (e :: _) . [e] -> Int -> e
469main is not found 473main is not found
diff --git a/testdata/ambig.out b/testdata/ambig.out
index 371868e6..f2146d1c 100644
--- a/testdata/ambig.out
+++ b/testdata/ambig.out
@@ -5,10 +5,10 @@ h
5 := _rhs 5 := _rhs
6 ((\(d :: _) -> hlistConsCase 6 ((\(d :: _) -> hlistConsCase
7 (_ :: _) 7 (_ :: _)
8 \(e :: _) (f :: _) -> hlistConsCase 8 (\(e :: _) (f :: _) -> hlistConsCase
9 (_ :: _) 9 (_ :: _)
10 \(g :: _) (h :: _) -> hlistNilCase (_ :: _) (a e g) h 10 (\(g :: _) (h :: _) -> hlistNilCase (_ :: _) (a e g) h)
11 f 11 f)
12 d) 12 d)
13 b)) -> c 13 b)) -> c
14main is not found 14main is not found
diff --git a/testdata/complex.out b/testdata/complex.out
index f6727829..8e93c8fe 100644
--- a/testdata/complex.out
+++ b/testdata/complex.out
@@ -11,18 +11,18 @@ polar
11 = (\(a :: _) (b :: _) -> _rhs (Complex a b)) :: Float -> Float -> Complex Polar 11 = (\(a :: _) (b :: _) -> _rhs (Complex a b)) :: Float -> Float -> Complex Polar
12cabs 12cabs
13 = (\ @(a :: _) (b :: _) -> case'Repr 13 = (\ @(a :: _) (b :: _) -> case'Repr
14 \_ -> _ :: _ 14 (\_ -> _ :: _)
15 (case'Complex 15 (case'Complex
16 \_ -> \_ -> _ :: _ 16 (\_ -> \_ -> _ :: _)
17 \(c :: _) (d :: _) -> _rhs (sqrt (c * c + d * d)) 17 (\(c :: _) (d :: _) -> _rhs (sqrt (c * c + d * d)))
18 b) 18 b)
19 (case'Complex \_ -> \_ -> _ :: _ \(e :: _) -> \_ -> _rhs e b) 19 (case'Complex (\_ -> \_ -> _ :: _) (\(e :: _) -> \_ -> _rhs e) b)
20 a) 20 a)
21 :: forall (f :: _) . Complex f -> Float 21 :: forall (f :: _) . Complex f -> Float
22toPolar 22toPolar
23 = (\(a :: _) -> case'Complex 23 = (\(a :: _) -> case'Complex
24 \_ -> \_ -> _ :: _ 24 (\_ -> \_ -> _ :: _)
25 \(b :: _) (c :: _) -> _rhs 25 (\(b :: _) (c :: _) -> _rhs
26 \(d := _rhs (sqrt (b * b + c * c))) -> primIfThenElse 26 \(d := _rhs (sqrt (b * b + c * c))) -> primIfThenElse
27 (b > 0.0) 27 (b > 0.0)
28 (polar d (atan (c / b))) 28 (polar d (atan (c / b)))
@@ -38,28 +38,28 @@ toPolar
38 (primIfThenElse 38 (primIfThenElse
39 (b == 0.0 && c < 0.0) 39 (b == 0.0 && c < 0.0)
40 (polar d (fromInt 0 - pi / 2.0)) 40 (polar d (fromInt 0 - pi / 2.0))
41 undefined)))) 41 undefined)))))
42 a) 42 a)
43 :: Complex Normal -> Complex Polar 43 :: Complex Normal -> Complex Polar
44toNormal 44toNormal
45 = (\(a :: _) -> case'Complex 45 = (\(a :: _) -> case'Complex
46 \_ -> \_ -> _ :: _ 46 (\_ -> \_ -> _ :: _)
47 \(b :: _) (c :: _) -> _rhs (Complex (b * cos c) (b * sin c)) 47 (\(b :: _) (c :: _) -> _rhs (Complex (b * cos c) (b * sin c)))
48 a) 48 a)
49 :: Complex Polar -> Complex Normal 49 :: Complex Polar -> Complex Normal
50it_should_fail 50it_should_fail
51 = \(a :: _) -> case'Complex \_ -> \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a 51 = \(a :: _) -> case'Complex (\_ -> \_ -> _ :: _) (\(b :: _) -> \_ -> _rhs b) a
52add 52add
53 = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr 53 = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr
54 \_ -> _ :: _ 54 (\_ -> _ :: _)
55 (case'Repr 55 (case'Repr
56 \_ -> _ :: _ 56 (\_ -> _ :: _)
57 (case'Complex 57 (case'Complex
58 \_ -> \_ -> _ :: _ 58 (\_ -> \_ -> _ :: _)
59 \(e :: _) (f :: _) -> case'Complex 59 (\(e :: _) (f :: _) -> case'Complex
60 \_ -> \_ -> _ :: _ 60 (\_ -> \_ -> _ :: _)
61 \(g :: _) (h :: _) -> _rhs (Complex (e + g) (f + h)) 61 (\(g :: _) (h :: _) -> _rhs (Complex (e + g) (f + h)))
62 d 62 d)
63 c) 63 c)
64 (_rhs undefined) 64 (_rhs undefined)
65 b) 65 b)
@@ -68,15 +68,15 @@ add
68 :: forall (i :: _) (j :: _) . Complex i -> Complex j -> Complex i 68 :: forall (i :: _) (j :: _) . Complex i -> Complex j -> Complex i
69mul 69mul
70 = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr 70 = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr
71 \_ -> _ :: _ 71 (\_ -> _ :: _)
72 (case'Repr 72 (case'Repr
73 \_ -> _ :: _ 73 (\_ -> _ :: _)
74 (case'Complex 74 (case'Complex
75 \_ -> \_ -> _ :: _ 75 (\_ -> \_ -> _ :: _)
76 \(e :: _) (f :: _) -> case'Complex 76 (\(e :: _) (f :: _) -> case'Complex
77 \_ -> \_ -> _ :: _ 77 (\_ -> \_ -> _ :: _)
78 \(g :: _) (h :: _) -> _rhs (Complex (e * g - f * h) (f * g + e * h)) 78 (\(g :: _) (h :: _) -> _rhs (Complex (e * g - f * h) (f * g + e * h)))
79 d 79 d)
80 c) 80 c)
81 (_rhs undefined) 81 (_rhs undefined)
82 b) 82 b)
diff --git a/testdata/data.out b/testdata/data.out
index 3951ff90..04576355 100644
--- a/testdata/data.out
+++ b/testdata/data.out
@@ -10,18 +10,18 @@ data Data2 :: Type where
10 Data24 :: Data2 10 Data24 :: Data2
11x 11x
12 = \(a :: _) -> case'Data2 12 = \(a :: _) -> case'Data2
13 \_ -> _ :: _ 13 (\_ -> _ :: _)
14 \_ -> _rhs undefined 14 (\_ -> _rhs undefined)
15 \(b :: _) -> \_ -> _rhs b 15 (\(b :: _) -> \_ -> _rhs b)
16 \(c :: _) -> _rhs c 16 (\(c :: _) -> _rhs c)
17 (_rhs undefined) 17 (_rhs undefined)
18 a 18 a
19y 19y
20 = \(a :: _) -> case'Data2 20 = \(a :: _) -> case'Data2
21 \_ -> _ :: _ 21 (\_ -> _ :: _)
22 \_ -> _rhs undefined 22 (\_ -> _rhs undefined)
23 \_ (b :: _) -> _rhs b 23 (\_ (b :: _) -> _rhs b)
24 \_ -> _rhs undefined 24 (\_ -> _rhs undefined)
25 (_rhs undefined) 25 (_rhs undefined)
26 a 26 a
27data Data5 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where 27data Data5 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where
@@ -30,24 +30,24 @@ data Data5 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where
30 Data53 :: forall g h i . Int -> g -> Float -> h -> i -> Data5 g h i 30 Data53 :: forall g h i . Int -> g -> Float -> h -> i -> Data5 g h i
31a5 31a5
32 = \(a :: _) -> case'Data5 32 = \(a :: _) -> case'Data5
33 \_ -> _ :: _ 33 (\_ -> _ :: _)
34 \(b :: _) -> _rhs b 34 (\(b :: _) -> _rhs b)
35 \(c :: _) -> \_ -> \_ -> _rhs c 35 (\(c :: _) -> \_ -> \_ -> _rhs c)
36 \_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined 36 (\_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined)
37 a 37 a
38b5 38b5
39 = \(a :: _) -> case'Data5 39 = \(a :: _) -> case'Data5
40 \_ -> _ :: _ 40 (\_ -> _ :: _)
41 \_ -> _rhs undefined 41 (\_ -> _rhs undefined)
42 \_ (b :: _) -> \_ -> _rhs b 42 (\_ (b :: _) -> \_ -> _rhs b)
43 \_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined 43 (\_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined)
44 a 44 a
45c5 45c5
46 = \(a :: _) -> case'Data5 46 = \(a :: _) -> case'Data5
47 \_ -> _ :: _ 47 (\_ -> _ :: _)
48 \_ -> _rhs undefined 48 (\_ -> _rhs undefined)
49 \_ -> \_ (b :: _) -> _rhs b 49 (\_ -> \_ (b :: _) -> _rhs b)
50 \_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined 50 (\_ -> \_ -> \_ -> \_ -> \_ -> _rhs undefined)
51 a 51 a
52main is not found 52main is not found
53------------ trace 53------------ trace
diff --git a/testdata/language-features/basic-list/listcomp01.out b/testdata/language-features/basic-list/listcomp01.out
index a782100a..fe914476 100644
--- a/testdata/language-features/basic-list/listcomp01.out
+++ b/testdata/language-features/basic-list/listcomp01.out
@@ -1,5 +1,5 @@
1------------ desugared source code 1------------ desugared source code
2value = _rhs (concatMap \_ -> HNil : [] (HNil : HNil : HNil : HNil : [])) 2value = _rhs (concatMap (\_ -> HNil : []) (HNil : HNil : HNil : HNil : []))
3main is not found 3main is not found
4------------ trace 4------------ trace
5value :: [()] 5value :: [()]
diff --git a/testdata/language-features/basic-list/listcomp02.out b/testdata/language-features/basic-list/listcomp02.out
index 661abdad..8d7d9de5 100644
--- a/testdata/language-features/basic-list/listcomp02.out
+++ b/testdata/language-features/basic-list/listcomp02.out
@@ -1,6 +1,6 @@
1------------ desugared source code 1------------ desugared source code
2l = _rhs (HNil : HNil : HNil : HNil : []) 2l = _rhs (HNil : HNil : HNil : HNil : [])
3value = _rhs (concatMap \(a :: _) -> a : [] l) 3value = _rhs (concatMap (\(a :: _) -> a : []) l)
4main is not found 4main is not found
5------------ trace 5------------ trace
6l :: [()] 6l :: [()]
diff --git a/testdata/language-features/basic-list/listcomp03.out b/testdata/language-features/basic-list/listcomp03.out
index f6a524a8..3de6ae88 100644
--- a/testdata/language-features/basic-list/listcomp03.out
+++ b/testdata/language-features/basic-list/listcomp03.out
@@ -2,7 +2,7 @@
2value 2value
3 = _rhs 3 = _rhs
4 (concatMap 4 (concatMap
5 \_ -> primIfThenElse False (HNil : []) [] 5 (\_ -> primIfThenElse False (HNil : []) [])
6 (HNil : HNil : HNil : HNil : [])) 6 (HNil : HNil : HNil : HNil : []))
7main is not found 7main is not found
8------------ trace 8------------ trace
diff --git a/testdata/language-features/basic-list/listcomp04.out b/testdata/language-features/basic-list/listcomp04.out
index e1cdf511..dce40a1a 100644
--- a/testdata/language-features/basic-list/listcomp04.out
+++ b/testdata/language-features/basic-list/listcomp04.out
@@ -1,6 +1,6 @@
1------------ desugared source code 1------------ desugared source code
2l = _rhs (HNil : HNil : HNil : HNil : []) 2l = _rhs (HNil : HNil : HNil : HNil : [])
3value = _rhs (concatMap \_ -> concatMap \_ -> HNil : [] l l) 3value = _rhs (concatMap (\_ -> concatMap (\_ -> HNil : []) l) l)
4main is not found 4main is not found
5------------ trace 5------------ trace
6l :: [()] 6l :: [()]
diff --git a/testdata/language-features/basic-list/listcomp05.out b/testdata/language-features/basic-list/listcomp05.out
index b5ac9f54..69de4559 100644
--- a/testdata/language-features/basic-list/listcomp05.out
+++ b/testdata/language-features/basic-list/listcomp05.out
@@ -2,7 +2,7 @@
2value 2value
3 = _rhs 3 = _rhs
4 (concatMap 4 (concatMap
5 \_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : [] 5 (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : [])
6 (HNil : HNil : [])) 6 (HNil : HNil : []))
7main is not found 7main is not found
8------------ trace 8------------ trace
diff --git a/testdata/language-features/basic-list/listcomp06.out b/testdata/language-features/basic-list/listcomp06.out
index 0002747e..590793bb 100644
--- a/testdata/language-features/basic-list/listcomp06.out
+++ b/testdata/language-features/basic-list/listcomp06.out
@@ -2,18 +2,18 @@
2value1 2value1
3 = _rhs 3 = _rhs
4 (concatMap 4 (concatMap
5 \_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse 5 (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse
6 True 6 True
7 (b : []) 7 (b : [])
8 [] 8 [])
9 (HNil : HNil : [])) 9 (HNil : HNil : []))
10value2 10value2
11 = _rhs 11 = _rhs
12 (concatMap 12 (concatMap
13 \_ -> primIfThenElse 13 (\_ -> primIfThenElse
14 True 14 True
15 \(a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : [] 15 (\(a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : [])
16 [] 16 [])
17 (HNil : HNil : [])) 17 (HNil : HNil : []))
18main is not found 18main is not found
19------------ trace 19------------ trace
diff --git a/testdata/language-features/basic-list/listcomp07.out b/testdata/language-features/basic-list/listcomp07.out
index 1dfa572d..a3e5a671 100644
--- a/testdata/language-features/basic-list/listcomp07.out
+++ b/testdata/language-features/basic-list/listcomp07.out
@@ -2,26 +2,26 @@
2value1 2value1
3 = _rhs 3 = _rhs
4 (concatMap 4 (concatMap
5 \_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse 5 (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse
6 True 6 True
7 \(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [] 7 (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [])
8 [] 8 [])
9 (HNil : HNil : [])) 9 (HNil : HNil : []))
10value2 10value2
11 = _rhs 11 = _rhs
12 (concatMap 12 (concatMap
13 \_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse 13 (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse
14 True 14 True
15 \(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [] 15 (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [])
16 [] 16 [])
17 (HNil : HNil : [])) 17 (HNil : HNil : []))
18value3 18value3
19 = _rhs 19 = _rhs
20 (concatMap 20 (concatMap
21 \_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse 21 (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> primIfThenElse
22 True 22 True
23 \(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [] 23 (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [])
24 [] 24 [])
25 (HNil : HNil : [])) 25 (HNil : HNil : []))
26main is not found 26main is not found
27------------ trace 27------------ trace
diff --git a/testdata/language-features/basic-list/listcomp09.out b/testdata/language-features/basic-list/listcomp09.out
index b9979154..27afb045 100644
--- a/testdata/language-features/basic-list/listcomp09.out
+++ b/testdata/language-features/basic-list/listcomp09.out
@@ -1,6 +1,7 @@
1------------ desugared source code 1------------ desugared source code
2value1 2value1
3 = _rhs (concatMap \_ -> (\(a :: _) -> hlistNilCase (_ :: _) "Hello" a) : [] []) 3 = _rhs
4 (concatMap (\_ -> (\(a :: _) -> hlistNilCase (_ :: _) "Hello" a) : []) [])
4main is not found 5main is not found
5------------ trace 6------------ trace
6value1 :: Type => [() -> String] 7value1 :: Type => [() -> String]
diff --git a/testdata/language-features/basic-values/case02.out b/testdata/language-features/basic-values/case02.out
index 15412d74..c762c3fe 100644
--- a/testdata/language-features/basic-values/case02.out
+++ b/testdata/language-features/basic-values/case02.out
@@ -1,12 +1,12 @@
1------------ desugared source code 1------------ desugared source code
2value1 2value1
3 = _rhs 3 = _rhs
4 ((\(a :: _) -> case'Bool \_ -> _ :: _ HNil HNil (fromInt 1 == a)) (fromInt 1)) 4 ((\(a :: _) -> case'Bool (\_ -> _ :: _) HNil HNil (fromInt 1 == a)) (fromInt 1))
5value2 5value2
6 = _rhs 6 = _rhs
7 ((\(a :: _) -> case'Bool 7 ((\(a :: _) -> case'Bool
8 \_ -> _ :: _ 8 (\_ -> _ :: _)
9 (case'Bool \_ -> _ :: _ "_" "2" (fromInt 2 == a)) 9 (case'Bool (\_ -> _ :: _) "_" "2" (fromInt 2 == a))
10 "1" 10 "1"
11 (fromInt 1 == a)) 11 (fromInt 1 == a))
12 (fromInt 2)) 12 (fromInt 2))
diff --git a/testdata/language-features/basic-values/case05.out b/testdata/language-features/basic-values/case05.out
index 0cbaf1ce..5021dfc3 100644
--- a/testdata/language-features/basic-values/case05.out
+++ b/testdata/language-features/basic-values/case05.out
@@ -1,7 +1,7 @@
1------------ desugared source code 1------------ desugared source code
2value 2value
3 = \(a :: _) -> _rhs 3 = \(a :: _) -> _rhs
4 ((\(b :: _) -> case'Bool \_ -> _ :: _ undefined '1' (fromInt 1 == b)) a) 4 ((\(b :: _) -> case'Bool (\_ -> _ :: _) undefined '1' (fromInt 1 == b)) a)
5main is not found 5main is not found
6------------ trace 6------------ trace
7value :: forall a . (Eq a, Num a) => a -> Char 7value :: forall a . (Eq a, Num a) => a -> Char
diff --git a/testdata/language-features/basic-values/case06.out b/testdata/language-features/basic-values/case06.out
index 3fb83b8c..ca1b9d5e 100644
--- a/testdata/language-features/basic-values/case06.out
+++ b/testdata/language-features/basic-values/case06.out
@@ -1,7 +1,7 @@
1------------ desugared source code 1------------ desugared source code
2value 2value
3 = \(a :: _) -> _rhs 3 = \(a :: _) -> _rhs
4 ((\(b :: _) -> case'Bool \_ -> _ :: _ '_' '1' (fromInt 1 == b)) a) 4 ((\(b :: _) -> case'Bool (\_ -> _ :: _) '_' '1' (fromInt 1 == b)) a)
5main is not found 5main is not found
6------------ trace 6------------ trace
7value :: forall a . (Eq a, Num a) => a -> Char 7value :: forall a . (Eq a, Num a) => a -> Char
diff --git a/testdata/language-features/basic-values/def03.out b/testdata/language-features/basic-values/def03.out
index f9a8d629..726a2061 100644
--- a/testdata/language-features/basic-values/def03.out
+++ b/testdata/language-features/basic-values/def03.out
@@ -1,8 +1,8 @@
1------------ desugared source code 1------------ desugared source code
2fun 2fun
3 = \(a :: _) -> case'Bool 3 = \(a :: _) -> case'Bool
4 \_ -> _ :: _ 4 (\_ -> _ :: _)
5 (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs '2') (fromInt 2 == a)) 5 (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs '2') (fromInt 2 == a))
6 (_rhs '1') 6 (_rhs '1')
7 (fromInt 1 == a) 7 (fromInt 1 == a)
8main is not found 8main is not found
diff --git a/testdata/language-features/basic-values/def04.out b/testdata/language-features/basic-values/def04.out
index de7336c1..bcec7dab 100644
--- a/testdata/language-features/basic-values/def04.out
+++ b/testdata/language-features/basic-values/def04.out
@@ -1,14 +1,14 @@
1------------ desugared source code 1------------ desugared source code
2fun 2fun
3 = \(a :: _) -> case'Bool 3 = \(a :: _) -> case'Bool
4 \_ -> _ :: _ 4 (\_ -> _ :: _)
5 (case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '2') (fromInt 2 == a)) 5 (case'Bool (\_ -> _ :: _) (_rhs '_') (_rhs '2') (fromInt 2 == a))
6 (_rhs '1') 6 (_rhs '1')
7 (fromInt 1 == a) 7 (fromInt 1 == a)
8fun2 8fun2
9 = \(a :: _) -> \_ -> case'Bool 9 = \(a :: _) -> \_ -> case'Bool
10 \_ -> _ :: _ 10 (\_ -> _ :: _)
11 (case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '2') (fromInt 2 == a)) 11 (case'Bool (\_ -> _ :: _) (_rhs '_') (_rhs '2') (fromInt 2 == a))
12 (_rhs '1') 12 (_rhs '1')
13 (fromInt 1 == a) 13 (fromInt 1 == a)
14main is not found 14main is not found
diff --git a/testdata/language-features/basic-values/where05.out b/testdata/language-features/basic-values/where05.out
index 8f5ef0e0..d11a4dbc 100644
--- a/testdata/language-features/basic-values/where05.out
+++ b/testdata/language-features/basic-values/where05.out
@@ -2,31 +2,31 @@
2value1 2value1
3 = _rhs 3 = _rhs
4 ((\(a :: _) -> case'Bool 4 ((\(a :: _) -> case'Bool
5 \_ -> _ :: _ 5 (\_ -> _ :: _)
6 HNil 6 HNil
7 \(b := _rhs HNil) -> b 7 (\(b := _rhs HNil) -> b)
8 (fromInt 1 == a)) 8 (fromInt 1 == a))
9 (fromInt 1)) 9 (fromInt 1))
10value2 10value2
11 = _rhs 11 = _rhs
12 ((\(a :: _) -> case'Bool 12 ((\(a :: _) -> case'Bool
13 \_ -> _ :: _ 13 (\_ -> _ :: _)
14 HNil 14 HNil
15 \(b := _rhs HNil) -> b 15 (\(b := _rhs HNil) -> b)
16 (fromInt 1 == a)) 16 (fromInt 1 == a))
17 (fromInt 1)) 17 (fromInt 1))
18value3 18value3
19 = _rhs 19 = _rhs
20 ((\(a :: _) -> case'Bool 20 ((\(a :: _) -> case'Bool
21 \_ -> _ :: _ 21 (\_ -> _ :: _)
22 HNil 22 HNil
23 \(b := _rhs HNil) -> b 23 (\(b := _rhs HNil) -> b)
24 (fromInt 1 == a)) 24 (fromInt 1 == a))
25 (fromInt 1)) 25 (fromInt 1))
26value4 26value4
27 = _rhs 27 = _rhs
28 \(a := _rhs HNil) -> (\(b :: _) -> case'Bool 28 \(a := _rhs HNil) -> (\(b :: _) -> case'Bool
29 \_ -> _ :: _ 29 (\_ -> _ :: _)
30 HNil 30 HNil
31 a 31 a
32 (fromInt 1 == b)) 32 (fromInt 1 == b))
diff --git a/testdata/language-features/guard/guard01.out b/testdata/language-features/guard/guard01.out
index 7979b597..e042cf51 100644
--- a/testdata/language-features/guard/guard01.out
+++ b/testdata/language-features/guard/guard01.out
@@ -1,5 +1,5 @@
1------------ desugared source code 1------------ desugared source code
2value = case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs HNil) True 2value = case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs HNil) True
3main is not found 3main is not found
4------------ trace 4------------ trace
5value :: () 5value :: ()
diff --git a/testdata/language-features/guard/guard03.out b/testdata/language-features/guard/guard03.out
index d872a41a..c7cfc230 100644
--- a/testdata/language-features/guard/guard03.out
+++ b/testdata/language-features/guard/guard03.out
@@ -1,8 +1,8 @@
1------------ desugared source code 1------------ desugared source code
2value 2value
3 = case'Bool 3 = case'Bool
4 \_ -> _ :: _ 4 (\_ -> _ :: _)
5 (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs "False") False) 5 (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs "False") False)
6 (_rhs "True") 6 (_rhs "True")
7 True 7 True
8main is not found 8main is not found
diff --git a/testdata/language-features/guard/guard04.out b/testdata/language-features/guard/guard04.out
index 67f97310..35a1df34 100644
--- a/testdata/language-features/guard/guard04.out
+++ b/testdata/language-features/guard/guard04.out
@@ -1,5 +1,5 @@
1------------ desugared source code 1------------ desugared source code
2value = case'Bool \_ -> _ :: _ (_rhs "False") (_rhs "True") True 2value = case'Bool (\_ -> _ :: _) (_rhs "False") (_rhs "True") True
3main is not found 3main is not found
4------------ trace 4------------ trace
5value :: String 5value :: String
diff --git a/testdata/language-features/guard/guard07.out b/testdata/language-features/guard/guard07.out
index d53bdc00..8b2af531 100644
--- a/testdata/language-features/guard/guard07.out
+++ b/testdata/language-features/guard/guard07.out
@@ -1,8 +1,8 @@
1------------ desugared source code 1------------ desugared source code
2value 2value
3 = case'Bool 3 = case'Bool
4 \_ -> _ :: _ 4 (\_ -> _ :: _)
5 (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs "False") False) 5 (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs "False") False)
6 (_rhs "True") 6 (_rhs "True")
7 True 7 True
8main is not found 8main is not found
diff --git a/testdata/language-features/guard/guard08.out b/testdata/language-features/guard/guard08.out
index 76334bcf..47b29db9 100644
--- a/testdata/language-features/guard/guard08.out
+++ b/testdata/language-features/guard/guard08.out
@@ -1,8 +1,8 @@
1------------ desugared source code 1------------ desugared source code
2value 2value
3 = case'Bool 3 = case'Bool
4 \_ -> _ :: _ 4 (\_ -> _ :: _)
5 (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs "False") False) 5 (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs "False") False)
6 (_rhs "True") 6 (_rhs "True")
7 True 7 True
8main is not found 8main is not found
diff --git a/testdata/language-features/guard/guard09.out b/testdata/language-features/guard/guard09.out
index 8b562ed0..aa6d848f 100644
--- a/testdata/language-features/guard/guard09.out
+++ b/testdata/language-features/guard/guard09.out
@@ -1,8 +1,8 @@
1------------ desugared source code 1------------ desugared source code
2value 2value
3 = case'Bool 3 = case'Bool
4 \_ -> _ :: _ 4 (\_ -> _ :: _)
5 (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs "False") False) 5 (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs "False") False)
6 (_rhs "True") 6 (_rhs "True")
7 True 7 True
8main is not found 8main is not found
diff --git a/testdata/language-features/guard/guard11.out b/testdata/language-features/guard/guard11.out
index 087cb504..47bd37ad 100644
--- a/testdata/language-features/guard/guard11.out
+++ b/testdata/language-features/guard/guard11.out
@@ -1,5 +1,5 @@
1------------ desugared source code 1------------ desugared source code
2fun = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs "False") (_rhs "True") a 2fun = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs "False") (_rhs "True") a
3main is not found 3main is not found
4------------ trace 4------------ trace
5fun :: Bool -> String 5fun :: Bool -> String
diff --git a/testdata/language-features/guard/guard13.out b/testdata/language-features/guard/guard13.out
index 9a470a2c..65411e87 100644
--- a/testdata/language-features/guard/guard13.out
+++ b/testdata/language-features/guard/guard13.out
@@ -1,5 +1,5 @@
1------------ desugared source code 1------------ desugared source code
2fun = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs HNil) (_rhs HNil) a 2fun = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs HNil) (_rhs HNil) a
3main is not found 3main is not found
4------------ trace 4------------ trace
5fun :: Bool -> () 5fun :: Bool -> ()
diff --git a/testdata/language-features/guard/guard14.out b/testdata/language-features/guard/guard14.out
index 46612e86..05321956 100644
--- a/testdata/language-features/guard/guard14.out
+++ b/testdata/language-features/guard/guard14.out
@@ -1,5 +1,6 @@
1------------ desugared source code 1------------ desugared source code
2value = _rhs \(a := case'Bool \_ -> _ :: _ (_rhs HNil) (_rhs HNil) True) -> HNil 2value
3 = _rhs \(a := case'Bool (\_ -> _ :: _) (_rhs HNil) (_rhs HNil) True) -> HNil
3main is not found 4main is not found
4------------ trace 5------------ trace
5value :: () 6value :: ()
diff --git a/testdata/language-features/guard/guard15.out b/testdata/language-features/guard/guard15.out
index 39a1d1e6..50452c29 100644
--- a/testdata/language-features/guard/guard15.out
+++ b/testdata/language-features/guard/guard15.out
@@ -1,5 +1,6 @@
1------------ desugared source code 1------------ desugared source code
2value = _rhs \(a := case'Bool \_ -> _ :: _ (_rhs HNil) (_rhs HNil) True) -> HNil 2value
3 = _rhs \(a := case'Bool (\_ -> _ :: _) (_rhs HNil) (_rhs HNil) True) -> HNil
3main is not found 4main is not found
4------------ trace 5------------ trace
5value :: () 6value :: ()
diff --git a/testdata/language-features/guard/guard16.out b/testdata/language-features/guard/guard16.out
index d31ed4ff..710f1ae9 100644
--- a/testdata/language-features/guard/guard16.out
+++ b/testdata/language-features/guard/guard16.out
@@ -2,9 +2,9 @@
2value 2value
3 = _rhs 3 = _rhs
4 ((\(a :: _) -> case'Bool 4 ((\(a :: _) -> case'Bool
5 \_ -> _ :: _ 5 (\_ -> _ :: _)
6 HNil 6 HNil
7 (case'Bool \_ -> _ :: _ HNil HNil True) 7 (case'Bool (\_ -> _ :: _) HNil HNil True)
8 (fromInt 1 == a)) 8 (fromInt 1 == a))
9 (fromInt 1)) 9 (fromInt 1))
10main is not found 10main is not found
diff --git a/testdata/language-features/pattern/pattern01.out b/testdata/language-features/pattern/pattern01.out
index 6a62a1e1..7679e35c 100644
--- a/testdata/language-features/pattern/pattern01.out
+++ b/testdata/language-features/pattern/pattern01.out
@@ -1,8 +1,8 @@
1------------ desugared source code 1------------ desugared source code
2fun1 2fun1
3 = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '0') (fromInt 0 == a) 3 = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs '_') (_rhs '0') (fromInt 0 == a)
4fun2 = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '0') ("0" == a) 4fun2 = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs '_') (_rhs '0') ("0" == a)
5fun3 = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '0') ('0' == a) 5fun3 = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs '_') (_rhs '0') ('0' == a)
6fun4 = \(a :: _) -> hlistNilCase (_ :: _) (_rhs '0') a 6fun4 = \(a :: _) -> hlistNilCase (_ :: _) (_rhs '0') a
7main is not found 7main is not found
8------------ trace 8------------ trace
diff --git a/testdata/language-features/pattern/uncovered.out b/testdata/language-features/pattern/uncovered.out
index 79b234a6..d75adc31 100644
--- a/testdata/language-features/pattern/uncovered.out
+++ b/testdata/language-features/pattern/uncovered.out
@@ -1,77 +1,77 @@
1------------ desugared source code 1------------ desugared source code
2f 2f
3 = \(a :: _) (b :: _) (c :: _) -> case'Bool 3 = \(a :: _) (b :: _) (c :: _) -> case'Bool
4 \_ -> _ :: _ 4 (\_ -> _ :: _)
5 (case'Bool 5 (case'Bool
6 \_ -> _ :: _ 6 (\_ -> _ :: _)
7 (case'Bool \_ -> _ :: _ (_rhs undefined) (_rhs (fromInt 1)) c) 7 (case'Bool (\_ -> _ :: _) (_rhs undefined) (_rhs (fromInt 1)) c)
8 (_rhs (fromInt 2)) 8 (_rhs (fromInt 2))
9 a) 9 a)
10 (case'Bool 10 (case'Bool
11 \_ -> _ :: _ 11 (\_ -> _ :: _)
12 (_rhs (fromInt 0)) 12 (_rhs (fromInt 0))
13 (case'Bool \_ -> _ :: _ (_rhs (fromInt 1)) (_rhs undefined) a) 13 (case'Bool (\_ -> _ :: _) (_rhs (fromInt 1)) (_rhs undefined) a)
14 c) 14 c)
15 b 15 b
16g 16g
17 = \(a :: _) -> case'List 17 = \(a :: _) -> case'List
18 \_ -> _ :: _ 18 (\_ -> _ :: _)
19 (_rhs undefined) 19 (_rhs undefined)
20 \(b :: _) (c :: _) -> case'Bool 20 (\(b :: _) (c :: _) -> case'Bool
21 \_ -> _ :: _ 21 (\_ -> _ :: _)
22 (_rhs undefined) 22 (_rhs undefined)
23 (case'List 23 (case'List
24 \_ -> _ :: _ 24 (\_ -> _ :: _)
25 (_rhs undefined) 25 (_rhs undefined)
26 \(d :: _) (e :: _) -> case'Bool 26 (\(d :: _) (e :: _) -> case'Bool
27 \_ -> _ :: _ 27 (\_ -> _ :: _)
28 (case'List 28 (case'List
29 \_ -> _ :: _ 29 (\_ -> _ :: _)
30 (_rhs undefined) 30 (_rhs undefined)
31 \(f :: _) (g :: _) -> case'Bool 31 (\(f :: _) (g :: _) -> case'Bool
32 \_ -> _ :: _ 32 (\_ -> _ :: _)
33 (_rhs undefined) 33 (_rhs undefined)
34 (case'List \_ -> _ :: _ (_rhs False) \_ -> \_ -> _rhs undefined g) 34 (case'List (\_ -> _ :: _) (_rhs False) (\_ -> \_ -> _rhs undefined) g)
35 f 35 f)
36 e) 36 e)
37 (_rhs undefined) 37 (_rhs undefined)
38 d 38 d)
39 c) 39 c)
40 b 40 b)
41 a 41 a
42h 42h
43 = \(a :: _) -> case'List 43 = \(a :: _) -> case'List
44 \_ -> _ :: _ 44 (\_ -> _ :: _)
45 (_rhs undefined) 45 (_rhs undefined)
46 \(b :: _) (c :: _) -> case'List 46 (\(b :: _) (c :: _) -> case'List
47 \_ -> _ :: _ 47 (\_ -> _ :: _)
48 (_rhs undefined) 48 (_rhs undefined)
49 \(d :: _) (e :: _) -> case'Bool 49 (\(d :: _) (e :: _) -> case'Bool
50 \_ -> _ :: _ 50 (\_ -> _ :: _)
51 (_rhs undefined) 51 (_rhs undefined)
52 (case'List 52 (case'List
53 \_ -> _ :: _ 53 (\_ -> _ :: _)
54 (case'List 54 (case'List
55 \_ -> _ :: _ 55 (\_ -> _ :: _)
56 (_rhs undefined) 56 (_rhs undefined)
57 \(f :: _) (g :: _) -> case'List 57 (\(f :: _) (g :: _) -> case'List
58 \_ -> _ :: _ 58 (\_ -> _ :: _)
59 (_rhs undefined) 59 (_rhs undefined)
60 \(h :: _) (i :: _) -> case'Bool 60 (\(h :: _) (i :: _) -> case'Bool
61 \_ -> _ :: _ 61 (\_ -> _ :: _)
62 (case'List 62 (case'List
63 \_ -> _ :: _ 63 (\_ -> _ :: _)
64 (case'List \_ -> _ :: _ (_rhs True) \_ -> \_ -> _rhs undefined g) 64 (case'List (\_ -> _ :: _) (_rhs True) (\_ -> \_ -> _rhs undefined) g)
65 \_ -> \_ -> _rhs undefined 65 (\_ -> \_ -> _rhs undefined)
66 i) 66 i)
67 (_rhs undefined) 67 (_rhs undefined)
68 h 68 h)
69 f 69 f)
70 c) 70 c)
71 \_ -> \_ -> _rhs undefined 71 (\_ -> \_ -> _rhs undefined)
72 e) 72 e)
73 d 73 d)
74 b 74 b)
75 a 75 a
76main is not found 76main is not found
77------------ trace 77------------ trace
diff --git a/testdata/language-features/recursion/simplerec01.out b/testdata/language-features/recursion/simplerec01.out
index 8b26638c..e264622f 100644
--- a/testdata/language-features/recursion/simplerec01.out
+++ b/testdata/language-features/recursion/simplerec01.out
@@ -1,7 +1,7 @@
1------------ desugared source code 1------------ desugared source code
2fun 2fun
3 = \(a :: _) -> case'Bool 3 = \(a :: _) -> case'Bool
4 \_ -> _ :: _ 4 (\_ -> _ :: _)
5 (_rhs (fun (fromInt 0))) 5 (_rhs (fun (fromInt 0)))
6 (_rhs 'a') 6 (_rhs 'a')
7 (fromInt 0 == a) 7 (fromInt 0 == a)
diff --git a/testdata/language-features/recursion/simplerec02.out b/testdata/language-features/recursion/simplerec02.out
index 785ea0a0..4e95a85e 100644
--- a/testdata/language-features/recursion/simplerec02.out
+++ b/testdata/language-features/recursion/simplerec02.out
@@ -4,7 +4,7 @@ value
4 \(a 4 \(a
5 := primFix 5 := primFix
6 \(b :: _) (c :: _) -> case'Bool 6 \(b :: _) (c :: _) -> case'Bool
7 \_ -> _ :: _ 7 (\_ -> _ :: _)
8 (_rhs (b (fromInt 0))) 8 (_rhs (b (fromInt 0)))
9 (_rhs 'a') 9 (_rhs 'a')
10 (fromInt 0 == c)) -> HNil 10 (fromInt 0 == c)) -> HNil
diff --git a/testdata/language-features/recursion/simplerec03.out b/testdata/language-features/recursion/simplerec03.out
index 273791dd..9bdd104f 100644
--- a/testdata/language-features/recursion/simplerec03.out
+++ b/testdata/language-features/recursion/simplerec03.out
@@ -4,7 +4,7 @@ value
4 \(a 4 \(a
5 := primFix 5 := primFix
6 \(b :: _) (c :: _) -> case'Bool 6 \(b :: _) (c :: _) -> case'Bool
7 \_ -> _ :: _ 7 (\_ -> _ :: _)
8 (_rhs (b (fromInt 0))) 8 (_rhs (b (fromInt 0)))
9 (_rhs 'a') 9 (_rhs 'a')
10 (fromInt 0 == c)) -> HNil 10 (fromInt 0 == c)) -> HNil
diff --git a/testdata/performance/Material.out b/testdata/performance/Material.out
index 510d3b92..3b623709 100644
--- a/testdata/performance/Material.out
+++ b/testdata/performance/Material.out
@@ -6,13 +6,16 @@ data Entity :: Type where
6 -> Vec (fromInt 4) Float 6 -> Vec (fromInt 4) Float
7 -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity 7 -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity
8eAmbientLight 8eAmbientLight
9 = \(a :: _) -> case'Entity \_ -> _ :: _ \(b :: _) -> \_ -> \_ -> \_ -> _rhs b a 9 = \(a :: _) -> case'Entity
10 (\_ -> _ :: _)
11 (\(b :: _) -> \_ -> \_ -> \_ -> _rhs b)
12 a
10eDirectedLight 13eDirectedLight
11 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ (b :: _) -> \_ -> \_ -> _rhs b a 14 = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ (b :: _) -> \_ -> \_ -> _rhs b) a
12eLightDir 15eLightDir
13 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ (b :: _) -> \_ -> _rhs b a 16 = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ -> \_ (b :: _) -> \_ -> _rhs b) a
14eShaderRGBA 17eShaderRGBA
15 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ -> \_ (b :: _) -> _rhs b a 18 = \(a :: _) -> case'Entity (\_ -> _ :: _) (\_ -> \_ -> \_ (b :: _) -> _rhs b) a
16data WaveType :: Type where 19data WaveType :: Type where
17 WT_Sin :: WaveType 20 WT_Sin :: WaveType
18 WT_Triangle :: WaveType 21 WT_Triangle :: WaveType
@@ -114,58 +117,59 @@ data StageAttrs :: Type where
114 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs 117 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs
115saBlend 118saBlend
116 = \(a :: _) -> case'StageAttrs 119 = \(a :: _) -> case'StageAttrs
117 \_ -> _ :: _ 120 (\_ -> _ :: _)
118 \(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 121 (\(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
122 b)
119 a 123 a
120saRGBGen 124saRGBGen
121 = \(a :: _) -> case'StageAttrs 125 = \(a :: _) -> case'StageAttrs
122 \_ -> _ :: _ 126 (\_ -> _ :: _)
123 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 127 (\_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b)
124 a 128 a
125saAlphaGen 129saAlphaGen
126 = \(a :: _) -> case'StageAttrs 130 = \(a :: _) -> case'StageAttrs
127 \_ -> _ :: _ 131 (\_ -> _ :: _)
128 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 132 (\_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b)
129 a 133 a
130saTCGen 134saTCGen
131 = \(a :: _) -> case'StageAttrs 135 = \(a :: _) -> case'StageAttrs
132 \_ -> _ :: _ 136 (\_ -> _ :: _)
133 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 137 (\_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b)
134 a 138 a
135saTCMod 139saTCMod
136 = \(a :: _) -> case'StageAttrs 140 = \(a :: _) -> case'StageAttrs
137 \_ -> _ :: _ 141 (\_ -> _ :: _)
138 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 142 (\_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b)
139 a 143 a
140saTexture 144saTexture
141 = \(a :: _) -> case'StageAttrs 145 = \(a :: _) -> case'StageAttrs
142 \_ -> _ :: _ 146 (\_ -> _ :: _)
143 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 147 (\_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b)
144 a 148 a
145saDepthWrite 149saDepthWrite
146 = \(a :: _) -> case'StageAttrs 150 = \(a :: _) -> case'StageAttrs
147 \_ -> _ :: _ 151 (\_ -> _ :: _)
148 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b 152 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b)
149 a 153 a
150saDepthFunc 154saDepthFunc
151 = \(a :: _) -> case'StageAttrs 155 = \(a :: _) -> case'StageAttrs
152 \_ -> _ :: _ 156 (\_ -> _ :: _)
153 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b 157 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b)
154 a 158 a
155saAlphaFunc 159saAlphaFunc
156 = \(a :: _) -> case'StageAttrs 160 = \(a :: _) -> case'StageAttrs
157 \_ -> _ :: _ 161 (\_ -> _ :: _)
158 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b 162 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b)
159 a 163 a
160saDepthMaskExplicit 164saDepthMaskExplicit
161 = \(a :: _) -> case'StageAttrs 165 = \(a :: _) -> case'StageAttrs
162 \_ -> _ :: _ 166 (\_ -> _ :: _)
163 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b 167 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b)
164 a 168 a
165saTextureUniform 169saTextureUniform
166 = \(a :: _) -> case'StageAttrs 170 = \(a :: _) -> case'StageAttrs
167 \_ -> _ :: _ 171 (\_ -> _ :: _)
168 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b 172 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b)
169 a 173 a
170defaultStageAttrs 174defaultStageAttrs
171 = _rhs 175 = _rhs
@@ -193,76 +197,76 @@ data CommonAttrs :: Type where
193 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs 197 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs
194caSkyParms 198caSkyParms
195 = \(a :: _) -> case'CommonAttrs 199 = \(a :: _) -> case'CommonAttrs
196 \_ -> _ :: _ 200 (\_ -> _ :: _)
197 \(b 201 (\(b
198 :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 202 :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
199 b 203 b)
200 a 204 a
201caFogParms 205caFogParms
202 = \(a :: _) -> case'CommonAttrs 206 = \(a :: _) -> case'CommonAttrs
203 \_ -> _ :: _ 207 (\_ -> _ :: _)
204 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 208 (\_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
205 b 209 b)
206 a 210 a
207caPortal 211caPortal
208 = \(a :: _) -> case'CommonAttrs 212 = \(a :: _) -> case'CommonAttrs
209 \_ -> _ :: _ 213 (\_ -> _ :: _)
210 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 214 (\_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
211 b 215 b)
212 a 216 a
213caSort 217caSort
214 = \(a :: _) -> case'CommonAttrs 218 = \(a :: _) -> case'CommonAttrs
215 \_ -> _ :: _ 219 (\_ -> _ :: _)
216 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 220 (\_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
217 b 221 b)
218 a 222 a
219caEntityMergable 223caEntityMergable
220 = \(a :: _) -> case'CommonAttrs 224 = \(a :: _) -> case'CommonAttrs
221 \_ -> _ :: _ 225 (\_ -> _ :: _)
222 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 226 (\_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
223 b 227 b)
224 a 228 a
225caFogOnly 229caFogOnly
226 = \(a :: _) -> case'CommonAttrs 230 = \(a :: _) -> case'CommonAttrs
227 \_ -> _ :: _ 231 (\_ -> _ :: _)
228 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 232 (\_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
229 b 233 b)
230 a 234 a
231caCull 235caCull
232 = \(a :: _) -> case'CommonAttrs 236 = \(a :: _) -> case'CommonAttrs
233 \_ -> _ :: _ 237 (\_ -> _ :: _)
234 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 238 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
235 b 239 b)
236 a 240 a
237caDeformVertexes 241caDeformVertexes
238 = \(a :: _) -> case'CommonAttrs 242 = \(a :: _) -> case'CommonAttrs
239 \_ -> _ :: _ 243 (\_ -> _ :: _)
240 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs 244 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs
241 b 245 b)
242 a 246 a
243caNoMipMaps 247caNoMipMaps
244 = \(a :: _) -> case'CommonAttrs 248 = \(a :: _) -> case'CommonAttrs
245 \_ -> _ :: _ 249 (\_ -> _ :: _)
246 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs 250 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs
247 b 251 b)
248 a 252 a
249caPolygonOffset 253caPolygonOffset
250 = \(a :: _) -> case'CommonAttrs 254 = \(a :: _) -> case'CommonAttrs
251 \_ -> _ :: _ 255 (\_ -> _ :: _)
252 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs 256 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs
253 b 257 b)
254 a 258 a
255caStages 259caStages
256 = \(a :: _) -> case'CommonAttrs 260 = \(a :: _) -> case'CommonAttrs
257 \_ -> _ :: _ 261 (\_ -> _ :: _)
258 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs 262 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs
259 b 263 b)
260 a 264 a
261caIsSky 265caIsSky
262 = \(a :: _) -> case'CommonAttrs 266 = \(a :: _) -> case'CommonAttrs
263 \_ -> _ :: _ 267 (\_ -> _ :: _)
264 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs 268 (\_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs
265 b 269 b)
266 a 270 a
267defaultCommonAttrs 271defaultCommonAttrs
268 = _rhs 272 = _rhs
diff --git a/testdata/typeclass.out b/testdata/typeclass.out
index 10d209d5..f0bd73a3 100644
--- a/testdata/typeclass.out
+++ b/testdata/typeclass.out
@@ -4,22 +4,26 @@ infix 4 /=
4infix 4 < 4infix 4 <
5infixr 3 && 5infixr 3 &&
6infixr 2 || 6infixr 2 ||
7not = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs True) (_rhs False) a 7not = \(a :: _) -> case'Bool (\_ -> _ :: _) (_rhs True) (_rhs False) a
8&& = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs False) (_rhs b) a 8&& = \(a :: _) (b :: _) -> case'Bool (\_ -> _ :: _) (_rhs False) (_rhs b) a
9|| = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs b) (_rhs True) a 9|| = \(a :: _) (b :: _) -> case'Bool (\_ -> _ :: _) (_rhs b) (_rhs True) a
10'Eq 10'Eq
11 = (\(a :: _) -> match'Bool 11 = (\(a :: _) -> match'Bool
12 \_ -> _ 12 (\_ -> _)
13 (_rhs 'Unit) 13 (_rhs 'Unit)
14 a 14 a
15 (_rhs ('Empty "no instance of 'Eq on ???"))) 15 (_rhs ('Empty "no instance of 'Eq on ???")))
16 :: Type -> Type 16 :: Type -> Type
17== 17==
18 = (\ @a -> \ @_ -> match'Bool 18 = (\ @a -> \ @_ -> match'Bool
19 \_ -> _ 19 (\_ -> _)
20 (_rhs 20 (_rhs
21 \(b 21 \(b
22 := \(c :: _) (d :: _) -> case'Bool \_ -> _ :: _ (_rhs (not d)) (_rhs d) c) -> b) 22 := \(c :: _) (d :: _) -> case'Bool
23 (\_ -> _ :: _)
24 (_rhs (not d))
25 (_rhs d)
26 c) -> b)
23 a 27 a
24 (_rhs undefined)) 28 (_rhs undefined))
25 :: forall e . Eq e => e -> e -> Bool 29 :: forall e . Eq e => e -> e -> Bool
diff --git a/testdata/zip01.out b/testdata/zip01.out
index 6393822e..5471a160 100644
--- a/testdata/zip01.out
+++ b/testdata/zip01.out
@@ -1,13 +1,13 @@
1------------ desugared source code 1------------ desugared source code
2zip2 2zip2
3 = (\(a :: _) (b :: _) -> case'List 3 = (\(a :: _) (b :: _) -> case'List
4 \_ -> _ :: _ 4 (\_ -> _ :: _)
5 (_rhs []) 5 (_rhs [])
6 \(c :: _) (d :: _) -> case'List 6 (\(c :: _) (d :: _) -> case'List
7 \_ -> _ :: _ 7 (\_ -> _ :: _)
8 (_rhs []) 8 (_rhs [])
9 \(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip2 d f) 9 (\(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip2 d f))
10 b 10 b)
11 a) 11 a)
12 :: forall (g :: _) (h :: _) . [g] -> [h] -> [HList (g : h : '[])] 12 :: forall (g :: _) (h :: _) . [g] -> [h] -> [HList (g : h : '[])]
13main is not found 13main is not found