summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-05-03 14:49:17 +0200
committerPéter Diviánszky <divipp@gmail.com>2016-05-03 14:49:17 +0200
commit1b49cc7e377e6c16d6c5bc4cced39dc20b8c0bec (patch)
tree79931726bcef4f09d556d588e00cd917f43b86e3 /testdata
parent05521f428c8805a693b8ad4fa5dd139eaf562362 (diff)
refactoring
Diffstat (limited to 'testdata')
-rw-r--r--testdata/Builtins.out218
-rw-r--r--testdata/Internals.out40
-rw-r--r--testdata/Material.out84
-rw-r--r--testdata/Prelude.out56
-rw-r--r--testdata/adhoc.reject.out2
-rw-r--r--testdata/complex.out32
-rw-r--r--testdata/data.out18
-rw-r--r--testdata/empty.out2
-rw-r--r--testdata/language-features/adt/adt02.reject.out2
-rw-r--r--testdata/language-features/adt/gadt03.reject.out2
-rw-r--r--testdata/language-features/adt/gadt04.reject.out2
-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/data01.out6
-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/infix03.out2
-rw-r--r--testdata/language-features/basic-values/where05.out8
-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.out2
-rw-r--r--testdata/language-features/guard/guard15.out2
-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.out42
-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.out84
-rw-r--r--testdata/traceTest.out2
-rw-r--r--testdata/typeclass.out8
-rw-r--r--testdata/typesig.reject.out2
-rw-r--r--testdata/typesigctx.reject.out2
-rw-r--r--testdata/zip01.out4
41 files changed, 342 insertions, 342 deletions
diff --git a/testdata/Builtins.out b/testdata/Builtins.out
index 4010c01b..96574724 100644
--- a/testdata/Builtins.out
+++ b/testdata/Builtins.out
@@ -5,7 +5,7 @@ data VecS (_ :: Type) :: Nat -> Type where
5 V3 :: forall b . b -> b -> b -> VecS b (fromInt 3) 5 V3 :: forall b . b -> b -> b -> VecS b (fromInt 3)
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 :: _) -> 'VecSCase 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))
@@ -14,10 +14,10 @@ mapVec
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 :: _) -> 'NatCase 17 = (\(a :: _) (b :: _) -> case'Nat
18 \_ -> _ :: _ 18 \_ -> _ :: _
19 undefined 19 undefined
20 \(c :: _) -> 'NatCase 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)
@@ -108,19 +108,19 @@ data Mat :: Nat -> Nat -> Type -> Type where
108 \_ -> _ 108 \_ -> _
109 \(b :: _) (c :: _) -> match'Float 109 \(b :: _) (c :: _) -> match'Float
110 \_ -> _ 110 \_ -> _
111 ('NatCase 111 (case'Nat
112 \_ -> _ :: _ 112 \_ -> _ :: _
113 (_rhs ('Empty "no instance of 'Component on ???")) 113 (_rhs ('Empty "no instance of 'Component on ???"))
114 \(d :: _) -> 'NatCase 114 \(d :: _) -> case'Nat
115 \_ -> _ :: _ 115 \_ -> _ :: _
116 (_rhs ('Empty "no instance of 'Component on ???")) 116 (_rhs ('Empty "no instance of 'Component on ???"))
117 \(e :: _) -> 'NatCase 117 \(e :: _) -> case'Nat
118 \_ -> _ :: _ 118 \_ -> _ :: _
119 (_rhs 'Unit) 119 (_rhs 'Unit)
120 \(f :: _) -> 'NatCase 120 \(f :: _) -> case'Nat
121 \_ -> _ :: _ 121 \_ -> _ :: _
122 (_rhs 'Unit) 122 (_rhs 'Unit)
123 \(g :: _) -> 'NatCase 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 ???")
@@ -132,19 +132,19 @@ data Mat :: Nat -> Nat -> Type -> Type where
132 b 132 b
133 (match'Bool 133 (match'Bool
134 \_ -> _ 134 \_ -> _
135 ('NatCase 135 (case'Nat
136 \_ -> _ :: _ 136 \_ -> _ :: _
137 (_rhs ('Empty "no instance of 'Component on ???")) 137 (_rhs ('Empty "no instance of 'Component on ???"))
138 \(h :: _) -> 'NatCase 138 \(h :: _) -> case'Nat
139 \_ -> _ :: _ 139 \_ -> _ :: _
140 (_rhs ('Empty "no instance of 'Component on ???")) 140 (_rhs ('Empty "no instance of 'Component on ???"))
141 \(i :: _) -> 'NatCase 141 \(i :: _) -> case'Nat
142 \_ -> _ :: _ 142 \_ -> _ :: _
143 (_rhs 'Unit) 143 (_rhs 'Unit)
144 \(j :: _) -> 'NatCase 144 \(j :: _) -> case'Nat
145 \_ -> _ :: _ 145 \_ -> _ :: _
146 (_rhs 'Unit) 146 (_rhs 'Unit)
147 \(k :: _) -> 'NatCase 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 ???")
@@ -179,19 +179,19 @@ zero
179 \_ -> _ 179 \_ -> _
180 \(e :: _) (f :: _) -> match'Float 180 \(e :: _) (f :: _) -> match'Float
181 \_ -> _ 181 \_ -> _
182 ('NatCase 182 (case'Nat
183 \_ -> _ :: _ 183 \_ -> _ :: _
184 (_rhs undefined) 184 (_rhs undefined)
185 \(g :: _) -> 'NatCase 185 \(g :: _) -> case'Nat
186 \_ -> _ :: _ 186 \_ -> _ :: _
187 (_rhs undefined) 187 (_rhs undefined)
188 \(h :: _) -> 'NatCase 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 :: _) -> 'NatCase 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 :: _) -> 'NatCase 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
@@ -203,19 +203,19 @@ zero
203 e 203 e
204 (match'Bool 204 (match'Bool
205 \_ -> _ 205 \_ -> _
206 ('NatCase 206 (case'Nat
207 \_ -> _ :: _ 207 \_ -> _ :: _
208 (_rhs undefined) 208 (_rhs undefined)
209 \(n :: _) -> 'NatCase 209 \(n :: _) -> case'Nat
210 \_ -> _ :: _ 210 \_ -> _ :: _
211 (_rhs undefined) 211 (_rhs undefined)
212 \(o :: _) -> 'NatCase 212 \(o :: _) -> case'Nat
213 \_ -> _ :: _ 213 \_ -> _ :: _
214 (_rhs \(p := _rhs (V2 False False)) -> p) 214 (_rhs \(p := _rhs (V2 False False)) -> p)
215 \(q :: _) -> 'NatCase 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 :: _) -> 'NatCase 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
@@ -246,19 +246,19 @@ one
246 \_ -> _ 246 \_ -> _
247 \(e :: _) (f :: _) -> match'Float 247 \(e :: _) (f :: _) -> match'Float
248 \_ -> _ 248 \_ -> _
249 ('NatCase 249 (case'Nat
250 \_ -> _ :: _ 250 \_ -> _ :: _
251 (_rhs undefined) 251 (_rhs undefined)
252 \(g :: _) -> 'NatCase 252 \(g :: _) -> case'Nat
253 \_ -> _ :: _ 253 \_ -> _ :: _
254 (_rhs undefined) 254 (_rhs undefined)
255 \(h :: _) -> 'NatCase 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 :: _) -> 'NatCase 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 :: _) -> 'NatCase 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
@@ -270,19 +270,19 @@ one
270 e 270 e
271 (match'Bool 271 (match'Bool
272 \_ -> _ 272 \_ -> _
273 ('NatCase 273 (case'Nat
274 \_ -> _ :: _ 274 \_ -> _ :: _
275 (_rhs undefined) 275 (_rhs undefined)
276 \(n :: _) -> 'NatCase 276 \(n :: _) -> case'Nat
277 \_ -> _ :: _ 277 \_ -> _ :: _
278 (_rhs undefined) 278 (_rhs undefined)
279 \(o :: _) -> 'NatCase 279 \(o :: _) -> case'Nat
280 \_ -> _ :: _ 280 \_ -> _ :: _
281 (_rhs \(p := _rhs (V2 True True)) -> p) 281 (_rhs \(p := _rhs (V2 True True)) -> p)
282 \(q :: _) -> 'NatCase 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 :: _) -> 'NatCase 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
@@ -316,19 +316,19 @@ one
316 \_ -> _ 316 \_ -> _
317 \(b :: _) (c :: _) -> match'Float 317 \(b :: _) (c :: _) -> match'Float
318 \_ -> _ 318 \_ -> _
319 ('NatCase 319 (case'Nat
320 \_ -> _ :: _ 320 \_ -> _ :: _
321 (_rhs ('Empty "no instance of 'Floating on ???")) 321 (_rhs ('Empty "no instance of 'Floating on ???"))
322 \(d :: _) -> 'NatCase 322 \(d :: _) -> case'Nat
323 \_ -> _ :: _ 323 \_ -> _ :: _
324 (_rhs ('Empty "no instance of 'Floating on ???")) 324 (_rhs ('Empty "no instance of 'Floating on ???"))
325 \(e :: _) -> 'NatCase 325 \(e :: _) -> case'Nat
326 \_ -> _ :: _ 326 \_ -> _ :: _
327 (_rhs 'Unit) 327 (_rhs 'Unit)
328 \(f :: _) -> 'NatCase 328 \(f :: _) -> case'Nat
329 \_ -> _ :: _ 329 \_ -> _ :: _
330 (_rhs 'Unit) 330 (_rhs 'Unit)
331 \(g :: _) -> 'NatCase 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 ???")
@@ -342,35 +342,35 @@ one
342 a 342 a
343 (match'Mat 343 (match'Mat
344 \_ -> _ 344 \_ -> _
345 \(h :: _) (i :: _) (j :: _) -> 'NatCase 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 :: _) -> 'NatCase 348 \(k :: _) -> case'Nat
349 \_ -> _ :: _ 349 \_ -> _ :: _
350 (_rhs ('Empty "no instance of 'Floating on ???")) 350 (_rhs ('Empty "no instance of 'Floating on ???"))
351 \(l :: _) -> 'NatCase 351 \(l :: _) -> case'Nat
352 \_ -> _ :: _ 352 \_ -> _ :: _
353 ('NatCase 353 (case'Nat
354 \_ -> _ :: _ 354 \_ -> _ :: _
355 (_rhs ('Empty "no instance of 'Floating on ???")) 355 (_rhs ('Empty "no instance of 'Floating on ???"))
356 \(m :: _) -> 'NatCase 356 \(m :: _) -> case'Nat
357 \_ -> _ :: _ 357 \_ -> _ :: _
358 (_rhs ('Empty "no instance of 'Floating on ???")) 358 (_rhs ('Empty "no instance of 'Floating on ???"))
359 \(n :: _) -> 'NatCase 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 :: _) -> 'NatCase 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 :: _) -> 'NatCase 373 \(p :: _) -> case'Nat
374 \_ -> _ :: _ 374 \_ -> _ :: _
375 (match'Float 375 (match'Float
376 \_ -> _ 376 \_ -> _
@@ -383,29 +383,29 @@ one
383 n 383 n
384 m 384 m
385 i) 385 i)
386 \(q :: _) -> 'NatCase 386 \(q :: _) -> case'Nat
387 \_ -> _ :: _ 387 \_ -> _ :: _
388 ('NatCase 388 (case'Nat
389 \_ -> _ :: _ 389 \_ -> _ :: _
390 (_rhs ('Empty "no instance of 'Floating on ???")) 390 (_rhs ('Empty "no instance of 'Floating on ???"))
391 \(r :: _) -> 'NatCase 391 \(r :: _) -> case'Nat
392 \_ -> _ :: _ 392 \_ -> _ :: _
393 (_rhs ('Empty "no instance of 'Floating on ???")) 393 (_rhs ('Empty "no instance of 'Floating on ???"))
394 \(s :: _) -> 'NatCase 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 :: _) -> 'NatCase 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 :: _) -> 'NatCase 408 \(u :: _) -> case'Nat
409 \_ -> _ :: _ 409 \_ -> _ :: _
410 (match'Float 410 (match'Float
411 \_ -> _ 411 \_ -> _
@@ -418,29 +418,29 @@ one
418 s 418 s
419 r 419 r
420 i) 420 i)
421 \(v :: _) -> 'NatCase 421 \(v :: _) -> case'Nat
422 \_ -> _ :: _ 422 \_ -> _ :: _
423 ('NatCase 423 (case'Nat
424 \_ -> _ :: _ 424 \_ -> _ :: _
425 (_rhs ('Empty "no instance of 'Floating on ???")) 425 (_rhs ('Empty "no instance of 'Floating on ???"))
426 \(w :: _) -> 'NatCase 426 \(w :: _) -> case'Nat
427 \_ -> _ :: _ 427 \_ -> _ :: _
428 (_rhs ('Empty "no instance of 'Floating on ???")) 428 (_rhs ('Empty "no instance of 'Floating on ???"))
429 \(x :: _) -> 'NatCase 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 :: _) -> 'NatCase 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 :: _) -> 'NatCase 443 \(z :: _) -> case'Nat
444 \_ -> _ :: _ 444 \_ -> _ :: _
445 (match'Float 445 (match'Float
446 \_ -> _ 446 \_ -> _
@@ -645,26 +645,26 @@ PrimNoise2 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 2) Float
645PrimNoise3 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 3) Float 645PrimNoise3 :: 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 :: _) -> 'ListCase 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 :: _) -> 'ListCase 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 :: _) -> 'ListCase 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 :: _) -> 'ListCase 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)
@@ -673,7 +673,7 @@ concatMap
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 :: _) -> 'ListCase 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)
@@ -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 :: _) -> 'SimpleFragmentCase \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a 721 = \(a :: _) -> case'SimpleFragment \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a
722sFragmentValue 722sFragmentValue
723 = \(a :: _) -> 'SimpleFragmentCase \_ -> _ :: _ \_ (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
@@ -745,7 +745,7 @@ data ImageKind :: Type where
745 Depth :: ImageKind 745 Depth :: ImageKind
746 Stencil :: ImageKind 746 Stencil :: ImageKind
747imageType 747imageType
748 = (\(a :: _) -> 'ImageKindCase 748 = (\(a :: _) -> case'ImageKind
749 \_ -> _ :: _ 749 \_ -> _ :: _
750 \(b :: _) -> _rhs b 750 \(b :: _) -> _rhs b
751 (_rhs 'Float) 751 (_rhs 'Float)
@@ -767,23 +767,23 @@ data Swizz :: Type where
767 Sz :: Swizz 767 Sz :: Swizz
768 Sw :: Swizz 768 Sw :: Swizz
769swizzscalar 769swizzscalar
770 = (\(a :: _) (b :: _) -> 'VecSCase 770 = (\(a :: _) (b :: _) -> case'VecS
771 \_ -> \_ -> _ :: _ 771 \_ -> \_ -> _ :: _
772 \(c :: _) (d :: _) -> 'SwizzCase 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 :: _) -> 'SwizzCase 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 :: _) -> 'SwizzCase 786 \(h :: _) (i :: _) (j :: _) (k :: _) -> case'Swizz
787 \_ -> _ :: _ 787 \_ -> _ :: _
788 (_rhs h) 788 (_rhs h)
789 (_rhs i) 789 (_rhs i)
@@ -793,7 +793,7 @@ swizzscalar
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 :: _) -> 'VecSCase 796 = (\(a :: _) -> case'VecS
797 \_ -> \_ -> _ :: _ 797 \_ -> \_ -> _ :: _
798 \_ -> \_ -> _rhs True 798 \_ -> \_ -> _rhs True
799 \_ -> \_ -> \_ -> _rhs True 799 \_ -> \_ -> \_ -> _rhs True
@@ -801,7 +801,7 @@ definedVec
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 :: _) -> 'BoolCase 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))
@@ -932,10 +932,10 @@ rasterizePrimitives
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 :: _) -> 'ListCase 935 = (\(a :: _) -> case'List
936 \_ -> _ :: _ 936 \_ -> _ :: _
937 (_rhs 'Unit) 937 (_rhs 'Unit)
938 \(b :: _) (c :: _) -> 'ListCase 938 \(b :: _) (c :: _) -> case'List
939 \_ -> _ :: _ 939 \_ -> _ :: _
940 (_rhs 'Unit) 940 (_rhs 'Unit)
941 \(d :: _) (e :: _) -> _rhs ('T2 (b ~ d) (allSame (d : e))) 941 \(d :: _) (e :: _) -> _rhs ('T2 (b ~ d) (allSame (d : e)))
@@ -946,10 +946,10 @@ sameLayerCounts = \(a :: _) -> _rhs (allSame (map 'ImageLC a))
946data FrameBuffer (_ :: Nat) (_ :: [ImageKind]) :: Type where 946data FrameBuffer (_ :: Nat) (_ :: [ImageKind]) :: Type where
947 947
948imageType' 948imageType'
949 = (\(a :: _) -> 'ListCase 949 = (\(a :: _) -> case'List
950 \_ -> _ :: _ 950 \_ -> _ :: _
951 (_rhs (map imageType a)) 951 (_rhs (map imageType a))
952 \(b :: _) (c :: _) -> 'ImageKindCase 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))
@@ -1017,7 +1017,7 @@ id :: forall a . a -> a
1017V2 :: forall a . a -> a -> VecS a 2 1017V2 :: forall a . a -> a -> VecS a 2
1018V3 :: forall a . a -> a -> a -> VecS a 3 1018V3 :: forall a . a -> a -> a -> VecS a 3
1019V4 :: forall a . a -> a -> a -> a -> VecS a 4 1019V4 :: forall a . a -> a -> a -> a -> VecS a 4
1020'VecSCase 1020case'VecS
1021 :: forall a 1021 :: forall a
1022 . forall (b :: forall (c :: Nat) -> VecS a c -> Type) 1022 . forall (b :: forall (c :: Nat) -> VecS a c -> Type)
1023 -> (forall (d :: a) (e :: a) -> b 2 ('V2 d e)) 1023 -> (forall (d :: a) (e :: a) -> b 2 ('V2 d e))
@@ -1043,7 +1043,7 @@ M34F
1043 :: Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 4 Float 1043 :: Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 3 4 Float
1044M44F 1044M44F
1045 :: Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float 1045 :: Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Vec 4 Float -> Mat 4 4 Float
1046'MatCase 1046case'Mat
1047 :: forall (a :: forall (b :: Nat) (c :: Nat) d -> Mat b c d -> Type) 1047 :: forall (a :: forall (b :: Nat) (c :: Nat) d -> Mat b c d -> Type)
1048 -> (forall (e :: Vec 2 Float) (f :: Vec 2 Float) -> a 2 2 Float ('M22F e f)) 1048 -> (forall (e :: Vec 2 Float) (f :: Vec 2 Float) -> a 2 2 Float ('M22F e f))
1049 -> (forall (g :: Vec 3 Float) (h :: Vec 3 Float) -> a 3 2 Float ('M32F g h)) 1049 -> (forall (g :: Vec 3 Float) (h :: Vec 3 Float) -> a 3 2 Float ('M32F g h))
@@ -1233,7 +1233,7 @@ len :: forall a . [a] -> Int
1233'Maybe :: Type -> Type 1233'Maybe :: Type -> Type
1234Nothing :: forall a . Maybe a 1234Nothing :: forall a . Maybe a
1235Just :: forall a . a -> Maybe a 1235Just :: forall a . a -> Maybe a
1236'MaybeCase 1236case'Maybe
1237 :: forall a 1237 :: forall a
1238 . forall (b :: Maybe a -> Type) 1238 . forall (b :: Maybe a -> Type)
1239 -> b 'Nothing 1239 -> b 'Nothing
@@ -1242,7 +1242,7 @@ match'Maybe
1242 :: forall (a :: Type -> Type) 1242 :: forall (a :: Type -> Type)
1243 -> (forall b -> a (Maybe b)) -> forall c -> a c -> a c 1243 -> (forall b -> a (Maybe b)) -> forall c -> a c -> a c
1244'Vector :: Nat -> Type -> Type 1244'Vector :: Nat -> Type -> Type
1245'VectorCase 1245case'Vector
1246 :: forall (a :: Nat) b 1246 :: forall (a :: Nat) b
1247 . forall (c :: Vector a b -> Type) (d :: Vector a b) -> c d 1247 . forall (c :: Vector a b -> Type) (d :: Vector a b) -> c d
1248match'Vector 1248match'Vector
@@ -1254,7 +1254,7 @@ Line :: PrimitiveType
1254Point :: PrimitiveType 1254Point :: PrimitiveType
1255TriangleAdjacency :: PrimitiveType 1255TriangleAdjacency :: PrimitiveType
1256LineAdjacency :: PrimitiveType 1256LineAdjacency :: PrimitiveType
1257'PrimitiveTypeCase 1257case'PrimitiveType
1258 :: forall (a :: PrimitiveType -> Type) 1258 :: forall (a :: PrimitiveType -> Type)
1259 -> a 'Triangle 1259 -> a 'Triangle
1260 -> a 'Line 1260 -> a 'Line
@@ -1267,7 +1267,7 @@ match'PrimitiveType
1267PrimPoint :: forall a . a -> Primitive a 'Point 1267PrimPoint :: forall a . a -> Primitive a 'Point
1268PrimLine :: forall a . a -> a -> Primitive a 'Line 1268PrimLine :: forall a . a -> a -> Primitive a 'Line
1269PrimTriangle :: forall a . a -> a -> a -> Primitive a 'Triangle 1269PrimTriangle :: forall a . a -> a -> a -> Primitive a 'Triangle
1270'PrimitiveCase 1270case'Primitive
1271 :: forall a 1271 :: forall a
1272 . forall (b :: forall (c :: PrimitiveType) -> Primitive a c -> Type) 1272 . forall (b :: forall (c :: PrimitiveType) -> Primitive a c -> Type)
1273 -> (forall (d :: a) -> b 'Point ('PrimPoint d)) 1273 -> (forall (d :: a) -> b 'Point ('PrimPoint d))
@@ -1299,7 +1299,7 @@ fetchStream
1299 -> (len String c ~ len Type b) => PrimitiveStream a (HList b) 1299 -> (len String c ~ len Type b) => PrimitiveStream a (HList b)
1300'SimpleFragment :: Type -> Type 1300'SimpleFragment :: Type -> Type
1301SimpleFragment :: forall a . Vec 3 Float -> a -> SimpleFragment a 1301SimpleFragment :: forall a . Vec 3 Float -> a -> SimpleFragment a
1302'SimpleFragmentCase 1302case'SimpleFragment
1303 :: forall a 1303 :: forall a
1304 . forall (b :: SimpleFragment a -> Type) 1304 . forall (b :: SimpleFragment a -> Type)
1305 -> (forall (c :: Vec 3 Float) (d :: a) -> b ('SimpleFragment c d)) 1305 -> (forall (c :: Vec 3 Float) (d :: a) -> b ('SimpleFragment c d))
@@ -1335,7 +1335,7 @@ mapFragments
1335Color :: Type -> ImageKind 1335Color :: Type -> ImageKind
1336Depth :: ImageKind 1336Depth :: ImageKind
1337Stencil :: ImageKind 1337Stencil :: ImageKind
1338'ImageKindCase 1338case'ImageKind
1339 :: forall (a :: ImageKind -> Type) 1339 :: forall (a :: ImageKind -> Type)
1340 -> (forall b -> a ('Color b)) 1340 -> (forall b -> a ('Color b))
1341 -> a 'Depth -> a 'Stencil -> forall (c :: ImageKind) -> a c 1341 -> a 'Depth -> a 'Stencil -> forall (c :: ImageKind) -> a c
@@ -1343,7 +1343,7 @@ match'ImageKind
1343 :: forall (a :: Type -> Type) -> a ImageKind -> forall b -> a b -> a b 1343 :: forall (a :: Type -> Type) -> a ImageKind -> forall b -> a b -> a b
1344imageType :: ImageKind -> Type 1344imageType :: ImageKind -> Type
1345'Image :: Nat -> ImageKind -> Type 1345'Image :: Nat -> ImageKind -> Type
1346'ImageCase 1346case'Image
1347 :: forall (a :: Nat) (b :: ImageKind) 1347 :: forall (a :: Nat) (b :: ImageKind)
1348 . forall (c :: Image a b -> Type) (d :: Image a b) -> c d 1348 . forall (c :: Image a b -> Type) (d :: Image a b) -> c d
1349match'Image 1349match'Image
@@ -1363,7 +1363,7 @@ Sx :: Swizz
1363Sy :: Swizz 1363Sy :: Swizz
1364Sz :: Swizz 1364Sz :: Swizz
1365Sw :: Swizz 1365Sw :: Swizz
1366'SwizzCase 1366case'Swizz
1367 :: forall (a :: Swizz -> Type) 1367 :: forall (a :: Swizz -> Type)
1368 -> a 'Sx -> a 'Sy -> a 'Sz -> a 'Sw -> forall (b :: Swizz) -> a b 1368 -> a 'Sx -> a 'Sy -> a 'Sz -> a 'Sw -> forall (b :: Swizz) -> a b
1369match'Swizz :: forall (a :: Type -> Type) -> a Swizz -> forall b -> a b -> a b 1369match'Swizz :: forall (a :: Type -> Type) -> a Swizz -> forall b -> a b -> a b
@@ -1387,7 +1387,7 @@ OneMinusConstantColor :: BlendingFactor
1387ConstantAlpha :: BlendingFactor 1387ConstantAlpha :: BlendingFactor
1388OneMinusConstantAlpha :: BlendingFactor 1388OneMinusConstantAlpha :: BlendingFactor
1389SrcAlphaSaturate :: BlendingFactor 1389SrcAlphaSaturate :: BlendingFactor
1390'BlendingFactorCase 1390case'BlendingFactor
1391 :: forall (a :: BlendingFactor -> Type) 1391 :: forall (a :: BlendingFactor -> Type)
1392 -> a 'ZeroBF 1392 -> a 'ZeroBF
1393 -> a 'OneBF 1393 -> a 'OneBF
@@ -1412,7 +1412,7 @@ FuncSubtract :: BlendEquation
1412FuncReverseSubtract :: BlendEquation 1412FuncReverseSubtract :: BlendEquation
1413Min :: BlendEquation 1413Min :: BlendEquation
1414Max :: BlendEquation 1414Max :: BlendEquation
1415'BlendEquationCase 1415case'BlendEquation
1416 :: forall (a :: BlendEquation -> Type) 1416 :: forall (a :: BlendEquation -> Type)
1417 -> a 'FuncAdd 1417 -> a 'FuncAdd
1418 -> a 'FuncSubtract 1418 -> a 'FuncSubtract
@@ -1437,7 +1437,7 @@ CopyInverted :: LogicOperation
1437OrInverted :: LogicOperation 1437OrInverted :: LogicOperation
1438Nand :: LogicOperation 1438Nand :: LogicOperation
1439Set :: LogicOperation 1439Set :: LogicOperation
1440'LogicOperationCase 1440case'LogicOperation
1441 :: forall (a :: LogicOperation -> Type) 1441 :: forall (a :: LogicOperation -> Type)
1442 -> a 'Clear 1442 -> a 'Clear
1443 -> a 'And 1443 -> a 'And
@@ -1464,7 +1464,7 @@ OpIncrWrap :: StencilOperation
1464OpDecr :: StencilOperation 1464OpDecr :: StencilOperation
1465OpDecrWrap :: StencilOperation 1465OpDecrWrap :: StencilOperation
1466OpInvert :: StencilOperation 1466OpInvert :: StencilOperation
1467'StencilOperationCase 1467case'StencilOperation
1468 :: forall (a :: StencilOperation -> Type) 1468 :: forall (a :: StencilOperation -> Type)
1469 -> a 'OpZero 1469 -> a 'OpZero
1470 -> a 'OpKeep 1470 -> a 'OpKeep
@@ -1484,7 +1484,7 @@ Greater :: ComparisonFunction
1484Notequal :: ComparisonFunction 1484Notequal :: ComparisonFunction
1485Gequal :: ComparisonFunction 1485Gequal :: ComparisonFunction
1486Always :: ComparisonFunction 1486Always :: ComparisonFunction
1487'ComparisonFunctionCase 1487case'ComparisonFunction
1488 :: forall (a :: ComparisonFunction -> Type) 1488 :: forall (a :: ComparisonFunction -> Type)
1489 -> a 'Never 1489 -> a 'Never
1490 -> a 'Less 1490 -> a 'Less
@@ -1498,7 +1498,7 @@ match'ComparisonFunction
1498'ProvokingVertex :: Type 1498'ProvokingVertex :: Type
1499LastVertex :: ProvokingVertex 1499LastVertex :: ProvokingVertex
1500FirstVertex :: ProvokingVertex 1500FirstVertex :: ProvokingVertex
1501'ProvokingVertexCase 1501case'ProvokingVertex
1502 :: forall (a :: ProvokingVertex -> Type) 1502 :: forall (a :: ProvokingVertex -> Type)
1503 -> a 'LastVertex -> a 'FirstVertex -> forall (b :: ProvokingVertex) -> a b 1503 -> a 'LastVertex -> a 'FirstVertex -> forall (b :: ProvokingVertex) -> a b
1504match'ProvokingVertex 1504match'ProvokingVertex
@@ -1507,7 +1507,7 @@ match'ProvokingVertex
1507CullFront :: CullMode 1507CullFront :: CullMode
1508CullBack :: CullMode 1508CullBack :: CullMode
1509CullNone :: CullMode 1509CullNone :: CullMode
1510'CullModeCase 1510case'CullMode
1511 :: forall (a :: CullMode -> Type) 1511 :: forall (a :: CullMode -> Type)
1512 -> a 'CullFront -> a 'CullBack -> a 'CullNone -> forall (b :: CullMode) -> a b 1512 -> a 'CullFront -> a 'CullBack -> a 'CullNone -> forall (b :: CullMode) -> a b
1513match'CullMode 1513match'CullMode
@@ -1515,7 +1515,7 @@ match'CullMode
1515'PointSize :: Type -> Type 1515'PointSize :: Type -> Type
1516PointSize :: forall a . Float -> PointSize a 1516PointSize :: forall a . Float -> PointSize a
1517ProgramPointSize :: forall a . (a -> Float) -> PointSize a 1517ProgramPointSize :: forall a . (a -> Float) -> PointSize a
1518'PointSizeCase 1518case'PointSize
1519 :: forall a 1519 :: forall a
1520 . forall (b :: PointSize a -> Type) 1520 . forall (b :: PointSize a -> Type)
1521 -> (forall (c :: Float) -> b ('PointSize c)) 1521 -> (forall (c :: Float) -> b ('PointSize c))
@@ -1528,7 +1528,7 @@ match'PointSize
1528PolygonFill :: forall a . PolygonMode a 1528PolygonFill :: forall a . PolygonMode a
1529PolygonPoint :: forall a . PointSize a -> PolygonMode a 1529PolygonPoint :: forall a . PointSize a -> PolygonMode a
1530PolygonLine :: forall a . Float -> PolygonMode a 1530PolygonLine :: forall a . Float -> PolygonMode a
1531'PolygonModeCase 1531case'PolygonMode
1532 :: forall a 1532 :: forall a
1533 . forall (b :: PolygonMode a -> Type) 1533 . forall (b :: PolygonMode a -> Type)
1534 -> b 'PolygonFill 1534 -> b 'PolygonFill
@@ -1541,7 +1541,7 @@ match'PolygonMode
1541'PolygonOffset :: Type 1541'PolygonOffset :: Type
1542NoOffset :: PolygonOffset 1542NoOffset :: PolygonOffset
1543Offset :: Float -> Float -> PolygonOffset 1543Offset :: Float -> Float -> PolygonOffset
1544'PolygonOffsetCase 1544case'PolygonOffset
1545 :: forall (a :: PolygonOffset -> Type) 1545 :: forall (a :: PolygonOffset -> Type)
1546 -> a 'NoOffset 1546 -> a 'NoOffset
1547 -> (forall (b :: Float) (c :: Float) -> a ('Offset b c)) 1547 -> (forall (b :: Float) (c :: Float) -> a ('Offset b c))
@@ -1551,7 +1551,7 @@ match'PolygonOffset
1551'PointSpriteCoordOrigin :: Type 1551'PointSpriteCoordOrigin :: Type
1552LowerLeft :: PointSpriteCoordOrigin 1552LowerLeft :: PointSpriteCoordOrigin
1553UpperLeft :: PointSpriteCoordOrigin 1553UpperLeft :: PointSpriteCoordOrigin
1554'PointSpriteCoordOriginCase 1554case'PointSpriteCoordOrigin
1555 :: forall (a :: PointSpriteCoordOrigin -> Type) 1555 :: forall (a :: PointSpriteCoordOrigin -> Type)
1556 -> a 'LowerLeft -> a 'UpperLeft -> forall (b :: PointSpriteCoordOrigin) -> a b 1556 -> a 'LowerLeft -> a 'UpperLeft -> forall (b :: PointSpriteCoordOrigin) -> a b
1557match'PointSpriteCoordOrigin 1557match'PointSpriteCoordOrigin
@@ -1569,7 +1569,7 @@ PointCtx
1569 :: forall a 1569 :: forall a
1570 . PointSize a -> Float -> PointSpriteCoordOrigin -> RasterContext a 'Point 1570 . PointSize a -> Float -> PointSpriteCoordOrigin -> RasterContext a 'Point
1571LineCtx :: forall a . Float -> ProvokingVertex -> RasterContext a 'Line 1571LineCtx :: forall a . Float -> ProvokingVertex -> RasterContext a 'Line
1572'RasterContextCase 1572case'RasterContext
1573 :: forall a 1573 :: forall a
1574 . forall (b :: forall (c :: PrimitiveType) -> RasterContext a c -> Type) 1574 . forall (b :: forall (c :: PrimitiveType) -> RasterContext a c -> Type)
1575 -> (forall (d :: CullMode) 1575 -> (forall (d :: CullMode)
@@ -1590,7 +1590,7 @@ Blend
1590 :: (BlendEquation, BlendEquation) 1590 :: (BlendEquation, BlendEquation)
1591 -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)) 1591 -> ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor))
1592 -> Vec 4 Float -> Blending Float 1592 -> Vec 4 Float -> Blending Float
1593'BlendingCase 1593case'Blending
1594 :: forall (a :: forall b -> Blending b -> Type) 1594 :: forall (a :: forall b -> Blending b -> Type)
1595 -> (forall c . a c ('NoBlending c)) 1595 -> (forall c . a c ('NoBlending c))
1596 -> (forall d (e :: Integral d) 1596 -> (forall d (e :: Integral d)
@@ -1604,12 +1604,12 @@ match'Blending
1604 :: forall (a :: Type -> Type) 1604 :: forall (a :: Type -> Type)
1605 -> (forall b -> a (Blending b)) -> forall c -> a c -> a c 1605 -> (forall b -> a (Blending b)) -> forall c -> a c -> a c
1606'StencilTests :: Type 1606'StencilTests :: Type
1607'StencilTestsCase 1607case'StencilTests
1608 :: forall (a :: StencilTests -> Type) (b :: StencilTests) -> a b 1608 :: forall (a :: StencilTests -> Type) (b :: StencilTests) -> a b
1609match'StencilTests 1609match'StencilTests
1610 :: forall (a :: Type -> Type) -> a StencilTests -> forall b -> a b -> a b 1610 :: forall (a :: Type -> Type) -> a StencilTests -> forall b -> a b -> a b
1611'StencilOps :: Type 1611'StencilOps :: Type
1612'StencilOpsCase :: forall (a :: StencilOps -> Type) (b :: StencilOps) -> a b 1612case'StencilOps :: forall (a :: StencilOps -> Type) (b :: StencilOps) -> a b
1613match'StencilOps 1613match'StencilOps
1614 :: forall (a :: Type -> Type) -> a StencilOps -> forall b -> a b -> a b 1614 :: forall (a :: Type -> Type) -> a StencilOps -> forall b -> a b -> a b
1615'FragmentOperation :: ImageKind -> Type 1615'FragmentOperation :: ImageKind -> Type
@@ -1620,7 +1620,7 @@ ColorOp
1620DepthOp :: ComparisonFunction -> Bool -> FragmentOperation 'Depth 1620DepthOp :: ComparisonFunction -> Bool -> FragmentOperation 'Depth
1621StencilOp 1621StencilOp
1622 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation 'Stencil 1622 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation 'Stencil
1623'FragmentOperationCase 1623case'FragmentOperation
1624 :: forall (a :: forall (b :: ImageKind) -> FragmentOperation b -> Type) 1624 :: forall (a :: forall (b :: ImageKind) -> FragmentOperation b -> Type)
1625 -> (forall c (d :: Nat) (e :: Num c) 1625 -> (forall c (d :: Nat) (e :: Num c)
1626 . forall (f :: Blending c) (g :: VecScalar d Bool) 1626 . forall (f :: Blending c) (g :: VecScalar d Bool)
@@ -1637,7 +1637,7 @@ match'FragmentOperation
1637Smooth :: forall a . Floating a => Interpolated a 1637Smooth :: forall a . Floating a => Interpolated a
1638NoPerspective :: forall a . Floating a => Interpolated a 1638NoPerspective :: forall a . Floating a => Interpolated a
1639Flat :: forall a . Interpolated a 1639Flat :: forall a . Interpolated a
1640'InterpolatedCase 1640case'Interpolated
1641 :: forall a 1641 :: forall a
1642 . forall (b :: Interpolated a -> Type) 1642 . forall (b :: Interpolated a -> Type)
1643 -> (forall (c :: Floating a) . b ('Smooth c)) 1643 -> (forall (c :: Floating a) . b ('Smooth c))
@@ -1662,7 +1662,7 @@ rasterizePrimitives
1662allSame :: forall a . [a] -> Type 1662allSame :: forall a . [a] -> Type
1663sameLayerCounts :: [Type] -> Type 1663sameLayerCounts :: [Type] -> Type
1664'FrameBuffer :: Nat -> [ImageKind] -> Type 1664'FrameBuffer :: Nat -> [ImageKind] -> Type
1665'FrameBufferCase 1665case'FrameBuffer
1666 :: forall (a :: Nat) (b :: [ImageKind]) 1666 :: forall (a :: Nat) (b :: [ImageKind])
1667 . forall (c :: FrameBuffer a b -> Type) (d :: FrameBuffer a b) -> c d 1667 . forall (c :: FrameBuffer a b -> Type) (d :: FrameBuffer a b) -> c d
1668match'FrameBuffer 1668match'FrameBuffer
@@ -1708,7 +1708,7 @@ PrjImageColor
1708 -> Image 1 ('Color (Vec 4 Float)) 1708 -> Image 1 ('Color (Vec 4 Float))
1709'Output :: Type 1709'Output :: Type
1710ScreenOut :: forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output 1710ScreenOut :: forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output
1711'OutputCase 1711case'Output
1712 :: forall (a :: Output -> Type) 1712 :: forall (a :: Output -> Type)
1713 -> (forall (b :: Nat) (c :: [ImageKind]) 1713 -> (forall (b :: Nat) (c :: [ImageKind])
1714 . forall (d :: FrameBuffer b c) -> a ('ScreenOut b c d)) 1714 . forall (d :: FrameBuffer b c) -> a ('ScreenOut b c d))
@@ -1718,7 +1718,7 @@ renderFrame :: forall (a :: Nat) (b :: [ImageKind]) . FrameBuffer a b -> Output
1718'Texture :: Type 1718'Texture :: Type
1719Texture2DSlot :: String -> Texture 1719Texture2DSlot :: String -> Texture
1720Texture2D :: Vec 2 Int -> Image 1 ('Color (Vec 4 Float)) -> Texture 1720Texture2D :: Vec 2 Int -> Image 1 ('Color (Vec 4 Float)) -> Texture
1721'TextureCase 1721case'Texture
1722 :: forall (a :: Texture -> Type) 1722 :: forall (a :: Texture -> Type)
1723 -> (forall (b :: String) -> a ('Texture2DSlot b)) 1723 -> (forall (b :: String) -> a ('Texture2DSlot b))
1724 -> (forall (c :: Vec 2 Int) (d :: Image 1 ('Color (Vec 4 Float))) 1724 -> (forall (c :: Vec 2 Int) (d :: Image 1 ('Color (Vec 4 Float)))
@@ -1729,7 +1729,7 @@ match'Texture
1729'Filter :: Type 1729'Filter :: Type
1730PointFilter :: Filter 1730PointFilter :: Filter
1731LinearFilter :: Filter 1731LinearFilter :: Filter
1732'FilterCase 1732case'Filter
1733 :: forall (a :: Filter -> Type) 1733 :: forall (a :: Filter -> Type)
1734 -> a 'PointFilter -> a 'LinearFilter -> forall (b :: Filter) -> a b 1734 -> a 'PointFilter -> a 'LinearFilter -> forall (b :: Filter) -> a b
1735match'Filter :: forall (a :: Type -> Type) -> a Filter -> forall b -> a b -> a b 1735match'Filter :: forall (a :: Type -> Type) -> a Filter -> forall b -> a b -> a b
@@ -1737,7 +1737,7 @@ match'Filter :: forall (a :: Type -> Type) -> a Filter -> forall b -> a b -> a b
1737Repeat :: EdgeMode 1737Repeat :: EdgeMode
1738MirroredRepeat :: EdgeMode 1738MirroredRepeat :: EdgeMode
1739ClampToEdge :: EdgeMode 1739ClampToEdge :: EdgeMode
1740'EdgeModeCase 1740case'EdgeMode
1741 :: forall (a :: EdgeMode -> Type) 1741 :: forall (a :: EdgeMode -> Type)
1742 -> a 'Repeat 1742 -> a 'Repeat
1743 -> a 'MirroredRepeat -> a 'ClampToEdge -> forall (b :: EdgeMode) -> a b 1743 -> a 'MirroredRepeat -> a 'ClampToEdge -> forall (b :: EdgeMode) -> a b
@@ -1745,7 +1745,7 @@ match'EdgeMode
1745 :: forall (a :: Type -> Type) -> a EdgeMode -> forall b -> a b -> a b 1745 :: forall (a :: Type -> Type) -> a EdgeMode -> forall b -> a b -> a b
1746'Sampler :: Type 1746'Sampler :: Type
1747Sampler :: Filter -> EdgeMode -> Texture -> Sampler 1747Sampler :: Filter -> EdgeMode -> Texture -> Sampler
1748'SamplerCase 1748case'Sampler
1749 :: forall (a :: Sampler -> Type) 1749 :: forall (a :: Sampler -> Type)
1750 -> (forall (b :: Filter) (c :: EdgeMode) (d :: Texture) -> a ('Sampler b c d)) 1750 -> (forall (b :: Filter) (c :: EdgeMode) (d :: Texture) -> a ('Sampler b c d))
1751 -> forall (e :: Sampler) -> a e 1751 -> forall (e :: Sampler) -> a e
diff --git a/testdata/Internals.out b/testdata/Internals.out
index d89f0fb7..cf9fb31e 100644
--- a/testdata/Internals.out
+++ b/testdata/Internals.out
@@ -51,10 +51,10 @@ primModInt :: Int -> Int -> Int
51primSqrtFloat :: Float -> Float 51primSqrtFloat :: Float -> Float
52primRound :: Float -> Int 52primRound :: Float -> Int
53primIfThenElse 53primIfThenElse
54 = (\(a :: _) (b :: _) (c :: _) -> 'BoolCase \_ -> _ :: _ (_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 :: _) -> 'OrderingCase 57 = \(a :: _) -> case'Ordering
58 \_ -> _ :: _ 58 \_ -> _ :: _
59 (_rhs False) 59 (_rhs False)
60 (_rhs True) 60 (_rhs True)
@@ -172,20 +172,20 @@ negate
172 \_ -> _ 172 \_ -> _
173 (_rhs 173 (_rhs
174 \(n 174 \(n
175 := \(o :: _) (p :: _) -> 'BoolCase 175 := \(o :: _) (p :: _) -> case'Bool
176 \_ -> _ :: _ 176 \_ -> _ :: _
177 ('BoolCase \_ -> _ :: _ (_rhs True) (_rhs False) p) 177 (case'Bool \_ -> _ :: _ (_rhs True) (_rhs False) p)
178 ('BoolCase \_ -> _ :: _ (_rhs False) (_rhs True) p) 178 (case'Bool \_ -> _ :: _ (_rhs False) (_rhs True) p)
179 o) -> n) 179 o) -> n)
180 a 180 a
181 (match'Nat 181 (match'Nat
182 \_ -> _ 182 \_ -> _
183 (_rhs 183 (_rhs
184 \(q 184 \(q
185 := \(r :: _) (s :: _) -> 'NatCase 185 := \(r :: _) (s :: _) -> case'Nat
186 \_ -> _ :: _ 186 \_ -> _ :: _
187 ('NatCase \_ -> _ :: _ (_rhs True) \_ -> _rhs False s) 187 (case'Nat \_ -> _ :: _ (_rhs True) \_ -> _rhs False s)
188 \(t :: _) -> 'NatCase \_ -> _ :: _ (_rhs False) \(u :: _) -> _rhs (t == u) s 188 \(t :: _) -> case'Nat \_ -> _ :: _ (_rhs False) \(u :: _) -> _rhs (t == u) s
189 r) -> q) 189 r) -> q)
190 a 190 a
191 (_rhs undefined))))))) 191 (_rhs undefined)))))))
@@ -210,13 +210,13 @@ undefined :: forall a . a
210primFix :: forall a . (a -> a) -> a 210primFix :: forall a . (a -> a) -> a
211'Unit :: Type 211'Unit :: Type
212TT :: Unit 212TT :: Unit
213'UnitCase :: forall (a :: Unit -> Type) -> a 'TT -> forall (b :: Unit) -> a b 213case'Unit :: forall (a :: Unit -> Type) -> a 'TT -> forall (b :: Unit) -> a b
214match'Unit :: forall (a :: Type -> Type) -> a Unit -> forall b -> a b -> a b 214match'Unit :: forall (a :: Type -> Type) -> a Unit -> forall b -> a b -> a b
215'String :: Type 215'String :: Type
216'StringCase :: forall (a :: String -> Type) (b :: String) -> a b 216case'String :: forall (a :: String -> Type) (b :: String) -> a b
217match'String :: forall (a :: Type -> Type) -> a String -> forall b -> a b -> a b 217match'String :: forall (a :: Type -> Type) -> a String -> forall b -> a b -> a b
218'Empty :: String -> Type 218'Empty :: String -> Type
219'EmptyCase 219case'Empty
220 :: forall (a :: String) . forall (b :: Empty a -> Type) (c :: Empty a) -> b c 220 :: forall (a :: String) . forall (b :: Empty a -> Type) (c :: Empty a) -> b c
221match'Empty 221match'Empty
222 :: forall (a :: Type -> Type) 222 :: forall (a :: Type -> Type)
@@ -229,21 +229,21 @@ match'Type :: forall (a :: Type -> Type) -> a Type -> forall b -> a b -> a b
229'EqCTt :: forall a . a -> a -> Type 229'EqCTt :: forall a . a -> a -> Type
230t2C :: Unit -> Unit -> Unit 230t2C :: Unit -> Unit -> Unit
231'Int :: Type 231'Int :: Type
232'IntCase :: forall (a :: Int -> Type) (b :: Int) -> a b 232case'Int :: forall (a :: Int -> Type) (b :: Int) -> a b
233match'Int :: forall (a :: Type -> Type) -> a Int -> forall b -> a b -> a b 233match'Int :: forall (a :: Type -> Type) -> a Int -> forall b -> a b -> a b
234'Word :: Type 234'Word :: Type
235'WordCase :: forall (a :: Word -> Type) (b :: Word) -> a b 235case'Word :: forall (a :: Word -> Type) (b :: Word) -> a b
236match'Word :: forall (a :: Type -> Type) -> a Word -> forall b -> a b -> a b 236match'Word :: forall (a :: Type -> Type) -> a Word -> forall b -> a b -> a b
237'Float :: Type 237'Float :: Type
238'FloatCase :: forall (a :: Float -> Type) (b :: Float) -> a b 238case'Float :: forall (a :: Float -> Type) (b :: Float) -> a b
239match'Float :: forall (a :: Type -> Type) -> a Float -> forall b -> a b -> a b 239match'Float :: forall (a :: Type -> Type) -> a Float -> forall b -> a b -> a b
240'Char :: Type 240'Char :: Type
241'CharCase :: forall (a :: Char -> Type) (b :: Char) -> a b 241case'Char :: forall (a :: Char -> Type) (b :: Char) -> a b
242match'Char :: forall (a :: Type -> Type) -> a Char -> forall b -> a b -> a b 242match'Char :: forall (a :: Type -> Type) -> a Char -> forall b -> a b -> a b
243'Bool :: Type 243'Bool :: Type
244False :: Bool 244False :: Bool
245True :: Bool 245True :: Bool
246'BoolCase 246case'Bool
247 :: forall (a :: Bool -> Type) 247 :: forall (a :: Bool -> Type)
248 -> a 'False -> a 'True -> forall (b :: Bool) -> a b 248 -> a 'False -> a 'True -> forall (b :: Bool) -> a b
249match'Bool :: forall (a :: Type -> Type) -> a Bool -> forall b -> a b -> a b 249match'Bool :: forall (a :: Type -> Type) -> a Bool -> forall b -> a b -> a b
@@ -251,7 +251,7 @@ match'Bool :: forall (a :: Type -> Type) -> a Bool -> forall b -> a b -> a b
251LT :: Ordering 251LT :: Ordering
252EQ :: Ordering 252EQ :: Ordering
253GT :: Ordering 253GT :: Ordering
254'OrderingCase 254case'Ordering
255 :: forall (a :: Ordering -> Type) 255 :: forall (a :: Ordering -> Type)
256 -> a 'LT -> a 'EQ -> a 'GT -> forall (b :: Ordering) -> a b 256 -> a 'LT -> a 'EQ -> a 'GT -> forall (b :: Ordering) -> a b
257match'Ordering 257match'Ordering
@@ -259,7 +259,7 @@ match'Ordering
259'Nat :: Type 259'Nat :: Type
260Zero :: Nat 260Zero :: Nat
261Succ :: Nat -> Nat 261Succ :: Nat -> Nat
262'NatCase 262case'Nat
263 :: forall (a :: Nat -> Type) 263 :: forall (a :: Nat -> Type)
264 -> a 0 -> (forall (b :: Nat) -> a ('Succ b)) -> forall (c :: Nat) -> a c 264 -> a 0 -> (forall (b :: Nat) -> a ('Succ b)) -> forall (c :: Nat) -> a c
265match'Nat :: forall (a :: Type -> Type) -> a Nat -> forall b -> a b -> a b 265match'Nat :: forall (a :: Type -> Type) -> a Nat -> forall b -> a b -> a b
@@ -290,7 +290,7 @@ negate :: forall a . Num a => a -> a
290'List :: Type -> Type 290'List :: Type -> Type
291[] :: forall a . [a] 291[] :: forall a . [a]
292(:) :: forall a . a -> [a] -> [a] 292(:) :: forall a . a -> [a] -> [a]
293'ListCase 293case'List
294 :: forall a 294 :: forall a
295 . forall (b :: [a] -> Type) 295 . forall (b :: [a] -> Type)
296 -> b '[] 296 -> b '[]
@@ -300,7 +300,7 @@ match'List
300'HList :: [Type] -> Type 300'HList :: [Type] -> Type
301HNil :: () 301HNil :: ()
302HCons :: forall a (b :: [Type]) . a -> HList b -> HList (: a b) 302HCons :: forall a (b :: [Type]) . a -> HList b -> HList (: a b)
303'HListCase 303case'HList
304 :: forall (a :: forall (b :: [Type]) -> HList b -> Type) 304 :: forall (a :: forall (b :: [Type]) -> HList b -> Type)
305 -> a '[] () 305 -> a '[] ()
306 -> (forall c (d :: [Type]) 306 -> (forall c (d :: [Type])
diff --git a/testdata/Material.out b/testdata/Material.out
index 41e812e0..9f503a21 100644
--- a/testdata/Material.out
+++ b/testdata/Material.out
@@ -6,13 +6,13 @@ 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 :: _) -> 'EntityCase \_ -> _ :: _ \(b :: _) -> \_ -> \_ -> \_ -> _rhs b a 9 = \(a :: _) -> case'Entity \_ -> _ :: _ \(b :: _) -> \_ -> \_ -> \_ -> _rhs b a
10eDirectedLight 10eDirectedLight
11 = \(a :: _) -> 'EntityCase \_ -> _ :: _ \_ (b :: _) -> \_ -> \_ -> _rhs b a 11 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ (b :: _) -> \_ -> \_ -> _rhs b a
12eLightDir 12eLightDir
13 = \(a :: _) -> 'EntityCase \_ -> _ :: _ \_ -> \_ (b :: _) -> \_ -> _rhs b a 13 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ (b :: _) -> \_ -> _rhs b a
14eShaderRGBA 14eShaderRGBA
15 = \(a :: _) -> 'EntityCase \_ -> _ :: _ \_ -> \_ -> \_ (b :: _) -> _rhs b a 15 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ -> \_ (b :: _) -> _rhs b a
16data WaveType :: Type where 16data WaveType :: Type where
17 WT_Sin :: WaveType 17 WT_Sin :: WaveType
18 WT_Triangle :: WaveType 18 WT_Triangle :: WaveType
@@ -113,57 +113,57 @@ data StageAttrs :: Type where
113 -> StageTexture 113 -> StageTexture
114 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs 114 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs
115saBlend 115saBlend
116 = \(a :: _) -> 'StageAttrsCase 116 = \(a :: _) -> case'StageAttrs
117 \_ -> _ :: _ 117 \_ -> _ :: _
118 \(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 118 \(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
119 a 119 a
120saRGBGen 120saRGBGen
121 = \(a :: _) -> 'StageAttrsCase 121 = \(a :: _) -> case'StageAttrs
122 \_ -> _ :: _ 122 \_ -> _ :: _
123 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 123 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
124 a 124 a
125saAlphaGen 125saAlphaGen
126 = \(a :: _) -> 'StageAttrsCase 126 = \(a :: _) -> case'StageAttrs
127 \_ -> _ :: _ 127 \_ -> _ :: _
128 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 128 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
129 a 129 a
130saTCGen 130saTCGen
131 = \(a :: _) -> 'StageAttrsCase 131 = \(a :: _) -> case'StageAttrs
132 \_ -> _ :: _ 132 \_ -> _ :: _
133 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 133 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
134 a 134 a
135saTCMod 135saTCMod
136 = \(a :: _) -> 'StageAttrsCase 136 = \(a :: _) -> case'StageAttrs
137 \_ -> _ :: _ 137 \_ -> _ :: _
138 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 138 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
139 a 139 a
140saTexture 140saTexture
141 = \(a :: _) -> 'StageAttrsCase 141 = \(a :: _) -> case'StageAttrs
142 \_ -> _ :: _ 142 \_ -> _ :: _
143 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 143 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
144 a 144 a
145saDepthWrite 145saDepthWrite
146 = \(a :: _) -> 'StageAttrsCase 146 = \(a :: _) -> case'StageAttrs
147 \_ -> _ :: _ 147 \_ -> _ :: _
148 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b 148 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b
149 a 149 a
150saDepthFunc 150saDepthFunc
151 = \(a :: _) -> 'StageAttrsCase 151 = \(a :: _) -> case'StageAttrs
152 \_ -> _ :: _ 152 \_ -> _ :: _
153 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b 153 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b
154 a 154 a
155saAlphaFunc 155saAlphaFunc
156 = \(a :: _) -> 'StageAttrsCase 156 = \(a :: _) -> case'StageAttrs
157 \_ -> _ :: _ 157 \_ -> _ :: _
158 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b 158 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b
159 a 159 a
160saDepthMaskExplicit 160saDepthMaskExplicit
161 = \(a :: _) -> 'StageAttrsCase 161 = \(a :: _) -> case'StageAttrs
162 \_ -> _ :: _ 162 \_ -> _ :: _
163 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b 163 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b
164 a 164 a
165saTextureUniform 165saTextureUniform
166 = \(a :: _) -> 'StageAttrsCase 166 = \(a :: _) -> case'StageAttrs
167 \_ -> _ :: _ 167 \_ -> _ :: _
168 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b 168 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b
169 a 169 a
@@ -192,74 +192,74 @@ data CommonAttrs :: Type where
192 -> Bool 192 -> Bool
193 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs 193 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs
194caSkyParms 194caSkyParms
195 = \(a :: _) -> 'CommonAttrsCase 195 = \(a :: _) -> case'CommonAttrs
196 \_ -> _ :: _ 196 \_ -> _ :: _
197 \(b 197 \(b
198 :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 198 :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
199 b 199 b
200 a 200 a
201caFogParms 201caFogParms
202 = \(a :: _) -> 'CommonAttrsCase 202 = \(a :: _) -> case'CommonAttrs
203 \_ -> _ :: _ 203 \_ -> _ :: _
204 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 204 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
205 b 205 b
206 a 206 a
207caPortal 207caPortal
208 = \(a :: _) -> 'CommonAttrsCase 208 = \(a :: _) -> case'CommonAttrs
209 \_ -> _ :: _ 209 \_ -> _ :: _
210 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 210 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
211 b 211 b
212 a 212 a
213caSort 213caSort
214 = \(a :: _) -> 'CommonAttrsCase 214 = \(a :: _) -> case'CommonAttrs
215 \_ -> _ :: _ 215 \_ -> _ :: _
216 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 216 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
217 b 217 b
218 a 218 a
219caEntityMergable 219caEntityMergable
220 = \(a :: _) -> 'CommonAttrsCase 220 = \(a :: _) -> case'CommonAttrs
221 \_ -> _ :: _ 221 \_ -> _ :: _
222 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 222 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
223 b 223 b
224 a 224 a
225caFogOnly 225caFogOnly
226 = \(a :: _) -> 'CommonAttrsCase 226 = \(a :: _) -> case'CommonAttrs
227 \_ -> _ :: _ 227 \_ -> _ :: _
228 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 228 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
229 b 229 b
230 a 230 a
231caCull 231caCull
232 = \(a :: _) -> 'CommonAttrsCase 232 = \(a :: _) -> case'CommonAttrs
233 \_ -> _ :: _ 233 \_ -> _ :: _
234 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 234 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
235 b 235 b
236 a 236 a
237caDeformVertexes 237caDeformVertexes
238 = \(a :: _) -> 'CommonAttrsCase 238 = \(a :: _) -> case'CommonAttrs
239 \_ -> _ :: _ 239 \_ -> _ :: _
240 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs 240 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs
241 b 241 b
242 a 242 a
243caNoMipMaps 243caNoMipMaps
244 = \(a :: _) -> 'CommonAttrsCase 244 = \(a :: _) -> case'CommonAttrs
245 \_ -> _ :: _ 245 \_ -> _ :: _
246 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs 246 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs
247 b 247 b
248 a 248 a
249caPolygonOffset 249caPolygonOffset
250 = \(a :: _) -> 'CommonAttrsCase 250 = \(a :: _) -> case'CommonAttrs
251 \_ -> _ :: _ 251 \_ -> _ :: _
252 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs 252 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs
253 b 253 b
254 a 254 a
255caStages 255caStages
256 = \(a :: _) -> 'CommonAttrsCase 256 = \(a :: _) -> case'CommonAttrs
257 \_ -> _ :: _ 257 \_ -> _ :: _
258 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs 258 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs
259 b 259 b
260 a 260 a
261caIsSky 261caIsSky
262 = \(a :: _) -> 'CommonAttrsCase 262 = \(a :: _) -> case'CommonAttrs
263 \_ -> _ :: _ 263 \_ -> _ :: _
264 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs 264 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs
265 b 265 b
@@ -285,7 +285,7 @@ main is not found
285identityLight :: Float 285identityLight :: Float
286'Entity :: Type 286'Entity :: Type
287Entity :: Vec 4 Float -> Vec 4 Float -> Vec 3 Float -> Vec 4 Float -> Entity 287Entity :: Vec 4 Float -> Vec 4 Float -> Vec 3 Float -> Vec 4 Float -> Entity
288'EntityCase 288case'Entity
289 :: forall (a :: Entity -> Type) 289 :: forall (a :: Entity -> Type)
290 -> (forall (b :: Vec 4 Float) 290 -> (forall (b :: Vec 4 Float)
291 (c :: Vec 4 Float) (d :: Vec 3 Float) (e :: Vec 4 Float) 291 (c :: Vec 4 Float) (d :: Vec 3 Float) (e :: Vec 4 Float)
@@ -303,7 +303,7 @@ WT_Square :: WaveType
303WT_Sawtooth :: WaveType 303WT_Sawtooth :: WaveType
304WT_InverseSawtooth :: WaveType 304WT_InverseSawtooth :: WaveType
305WT_Noise :: WaveType 305WT_Noise :: WaveType
306'WaveTypeCase 306case'WaveType
307 :: forall (a :: WaveType -> Type) 307 :: forall (a :: WaveType -> Type)
308 -> a 'WT_Sin 308 -> a 'WT_Sin
309 -> a 'WT_Triangle 309 -> a 'WT_Triangle
@@ -314,7 +314,7 @@ match'WaveType
314 :: forall (a :: Type -> Type) -> a WaveType -> forall b -> a b -> a b 314 :: forall (a :: Type -> Type) -> a WaveType -> forall b -> a b -> a b
315'Wave :: Type 315'Wave :: Type
316Wave :: WaveType -> Float -> Float -> Float -> Float -> Wave 316Wave :: WaveType -> Float -> Float -> Float -> Float -> Wave
317'WaveCase 317case'Wave
318 :: forall (a :: Wave -> Type) 318 :: forall (a :: Wave -> Type)
319 -> (forall (b :: WaveType) (c :: Float) (d :: Float) (e :: Float) (f :: Float) 319 -> (forall (b :: WaveType) (c :: Float) (d :: Float) (e :: Float) (f :: Float)
320 -> a ('Wave b c d e f)) 320 -> a ('Wave b c d e f))
@@ -336,7 +336,7 @@ D_Text5 :: Deform
336D_Text6 :: Deform 336D_Text6 :: Deform
337D_Text7 :: Deform 337D_Text7 :: Deform
338D_Wave :: Float -> Wave -> Deform 338D_Wave :: Float -> Wave -> Deform
339'DeformCase 339case'Deform
340 :: forall (a :: Deform -> Type) 340 :: forall (a :: Deform -> Type)
341 -> a 'D_AutoSprite 341 -> a 'D_AutoSprite
342 -> a 'D_AutoSprite2 342 -> a 'D_AutoSprite2
@@ -359,7 +359,7 @@ match'Deform :: forall (a :: Type -> Type) -> a Deform -> forall b -> a b -> a b
359CT_FrontSided :: CullType 359CT_FrontSided :: CullType
360CT_BackSided :: CullType 360CT_BackSided :: CullType
361CT_TwoSided :: CullType 361CT_TwoSided :: CullType
362'CullTypeCase 362case'CullType
363 :: forall (a :: CullType -> Type) 363 :: forall (a :: CullType -> Type)
364 -> a 'CT_FrontSided 364 -> a 'CT_FrontSided
365 -> a 'CT_BackSided -> a 'CT_TwoSided -> forall (b :: CullType) -> a b 365 -> a 'CT_BackSided -> a 'CT_TwoSided -> forall (b :: CullType) -> a b
@@ -377,7 +377,7 @@ B_SrcAlpha :: Blending'
377B_SrcAlphaSaturate :: Blending' 377B_SrcAlphaSaturate :: Blending'
378B_SrcColor :: Blending' 378B_SrcColor :: Blending'
379B_Zero :: Blending' 379B_Zero :: Blending'
380'Blending'Case 380case'Blending'
381 :: forall (a :: Blending' -> Type) 381 :: forall (a :: Blending' -> Type)
382 -> a 'B_DstAlpha 382 -> a 'B_DstAlpha
383 -> a 'B_DstColor 383 -> a 'B_DstColor
@@ -403,7 +403,7 @@ RGB_Vertex :: RGBGen
403RGB_LightingDiffuse :: RGBGen 403RGB_LightingDiffuse :: RGBGen
404RGB_OneMinusVertex :: RGBGen 404RGB_OneMinusVertex :: RGBGen
405RGB_Undefined :: RGBGen 405RGB_Undefined :: RGBGen
406'RGBGenCase 406case'RGBGen
407 :: forall (a :: RGBGen -> Type) 407 :: forall (a :: RGBGen -> Type)
408 -> (forall (b :: Wave) -> a ('RGB_Wave b)) 408 -> (forall (b :: Wave) -> a ('RGB_Wave b))
409 -> (forall (c :: Float) (d :: Float) (e :: Float) -> a ('RGB_Const c d e)) 409 -> (forall (c :: Float) (d :: Float) (e :: Float) -> a ('RGB_Const c d e))
@@ -426,7 +426,7 @@ A_OneMinusEntity :: AlphaGen
426A_Vertex :: AlphaGen 426A_Vertex :: AlphaGen
427A_LightingSpecular :: AlphaGen 427A_LightingSpecular :: AlphaGen
428A_OneMinusVertex :: AlphaGen 428A_OneMinusVertex :: AlphaGen
429'AlphaGenCase 429case'AlphaGen
430 :: forall (a :: AlphaGen -> Type) 430 :: forall (a :: AlphaGen -> Type)
431 -> (forall (b :: Wave) -> a ('A_Wave b)) 431 -> (forall (b :: Wave) -> a ('A_Wave b))
432 -> (forall (c :: Float) -> a ('A_Const c)) 432 -> (forall (c :: Float) -> a ('A_Const c))
@@ -444,7 +444,7 @@ TG_Lightmap :: TCGen
444TG_Environment :: TCGen 444TG_Environment :: TCGen
445TG_Vector :: Vec 3 Float -> Vec 3 Float -> TCGen 445TG_Vector :: Vec 3 Float -> Vec 3 Float -> TCGen
446TG_Undefined :: TCGen 446TG_Undefined :: TCGen
447'TCGenCase 447case'TCGen
448 :: forall (a :: TCGen -> Type) 448 :: forall (a :: TCGen -> Type)
449 -> a 'TG_Base 449 -> a 'TG_Base
450 -> a 'TG_Lightmap 450 -> a 'TG_Lightmap
@@ -460,7 +460,7 @@ TM_Scale :: Float -> Float -> TCMod
460TM_Stretch :: Wave -> TCMod 460TM_Stretch :: Wave -> TCMod
461TM_Transform :: Float -> Float -> Float -> Float -> Float -> Float -> TCMod 461TM_Transform :: Float -> Float -> Float -> Float -> Float -> Float -> TCMod
462TM_Turb :: Float -> Float -> Float -> Float -> TCMod 462TM_Turb :: Float -> Float -> Float -> Float -> TCMod
463'TCModCase 463case'TCMod
464 :: forall (a :: TCMod -> Type) 464 :: forall (a :: TCMod -> Type)
465 -> a 'TM_EntityTranslate 465 -> a 'TM_EntityTranslate
466 -> (forall (b :: Float) -> a ('TM_Rotate b)) 466 -> (forall (b :: Float) -> a ('TM_Rotate b))
@@ -480,7 +480,7 @@ ST_ClampMap :: String -> StageTexture
480ST_AnimMap :: Float -> [String] -> StageTexture 480ST_AnimMap :: Float -> [String] -> StageTexture
481ST_Lightmap :: StageTexture 481ST_Lightmap :: StageTexture
482ST_WhiteImage :: StageTexture 482ST_WhiteImage :: StageTexture
483'StageTextureCase 483case'StageTexture
484 :: forall (a :: StageTexture -> Type) 484 :: forall (a :: StageTexture -> Type)
485 -> (forall (b :: String) -> a ('ST_Map b)) 485 -> (forall (b :: String) -> a ('ST_Map b))
486 -> (forall (c :: String) -> a ('ST_ClampMap c)) 486 -> (forall (c :: String) -> a ('ST_ClampMap c))
@@ -492,7 +492,7 @@ match'StageTexture
492A_Gt0 :: AlphaFunction 492A_Gt0 :: AlphaFunction
493A_Lt128 :: AlphaFunction 493A_Lt128 :: AlphaFunction
494A_Ge128 :: AlphaFunction 494A_Ge128 :: AlphaFunction
495'AlphaFunctionCase 495case'AlphaFunction
496 :: forall (a :: AlphaFunction -> Type) 496 :: forall (a :: AlphaFunction -> Type)
497 -> a 'A_Gt0 -> a 'A_Lt128 -> a 'A_Ge128 -> forall (b :: AlphaFunction) -> a b 497 -> a 'A_Gt0 -> a 'A_Lt128 -> a 'A_Ge128 -> forall (b :: AlphaFunction) -> a b
498match'AlphaFunction 498match'AlphaFunction
@@ -500,7 +500,7 @@ match'AlphaFunction
500'DepthFunction :: Type 500'DepthFunction :: Type
501D_Equal :: DepthFunction 501D_Equal :: DepthFunction
502D_Lequal :: DepthFunction 502D_Lequal :: DepthFunction
503'DepthFunctionCase 503case'DepthFunction
504 :: forall (a :: DepthFunction -> Type) 504 :: forall (a :: DepthFunction -> Type)
505 -> a 'D_Equal -> a 'D_Lequal -> forall (b :: DepthFunction) -> a b 505 -> a 'D_Equal -> a 'D_Lequal -> forall (b :: DepthFunction) -> a b
506match'DepthFunction 506match'DepthFunction
@@ -514,7 +514,7 @@ StageAttrs
514 -> [TCMod] 514 -> [TCMod]
515 -> StageTexture 515 -> StageTexture
516 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs 516 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs
517'StageAttrsCase 517case'StageAttrs
518 :: forall (a :: StageAttrs -> Type) 518 :: forall (a :: StageAttrs -> Type)
519 -> (forall (b :: Maybe (Blending', Blending')) 519 -> (forall (b :: Maybe (Blending', Blending'))
520 (c :: RGBGen) 520 (c :: RGBGen)
@@ -549,7 +549,7 @@ CommonAttrs
549 -> Bool 549 -> Bool
550 -> Bool 550 -> Bool
551 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs 551 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs
552'CommonAttrsCase 552case'CommonAttrs
553 :: forall (a :: CommonAttrs -> Type) 553 :: forall (a :: CommonAttrs -> Type)
554 -> (forall (b :: ()) 554 -> (forall (b :: ())
555 (c :: ()) 555 (c :: ())
diff --git a/testdata/Prelude.out b/testdata/Prelude.out
index 6e3f4bf9..ead20303 100644
--- a/testdata/Prelude.out
+++ b/testdata/Prelude.out
@@ -31,10 +31,10 @@ uncurry
31 c 31 c
32pi = _rhs 3.141592653589793 32pi = _rhs 3.141592653589793
33zip 33zip
34 = (\(a :: _) (b :: _) -> 'ListCase 34 = (\(a :: _) (b :: _) -> case'List
35 \_ -> _ :: _ 35 \_ -> _ :: _
36 (_rhs []) 36 (_rhs [])
37 \(c :: _) (d :: _) -> 'ListCase 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)
@@ -42,7 +42,7 @@ zip
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 :: _) -> 'ListCase 45 = (\(a :: _) -> case'List
46 \_ -> _ :: _ 46 \_ -> _ :: _
47 (_rhs (HCons [] (HCons [] HNil))) 47 (_rhs (HCons [] (HCons [] HNil)))
48 \(b :: _) (c :: _) -> hlistConsCase 48 \(b :: _) (c :: _) -> hlistConsCase
@@ -79,32 +79,32 @@ unzip
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 :: _) -> 'ListCase 82 = \(a :: _) (b :: _) -> case'List
83 \_ -> _ :: _ 83 \_ -> _ :: _
84 (_rhs []) 84 (_rhs [])
85 \(c :: _) (d :: _) -> _rhs 85 \(c :: _) (d :: _) -> _rhs
86 ((\(e :: _) -> 'BoolCase \_ -> _ :: _ (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 :: _) -> 'ListCase \_ -> _ :: _ (_rhs undefined) \_ (b :: _) -> _rhs b a) 89 = (\(a :: _) -> case'List \_ -> _ :: _ (_rhs undefined) \_ (b :: _) -> _rhs b a)
90 :: forall (c :: _) . [c] -> [c] 90 :: forall (c :: _) . [c] -> [c]
91pairs 91pairs
92 = (\(a :: _) -> _rhs (zip a (tail a))) 92 = (\(a :: _) -> _rhs (zip a (tail a)))
93 :: forall (b :: _) . [b] -> [HList (b : b : '[])] 93 :: forall (b :: _) . [b] -> [HList (b : b : '[])]
94foldl' 94foldl'
95 = \(a :: _) (b :: _) (c :: _) -> 'ListCase 95 = \(a :: _) (b :: _) (c :: _) -> case'List
96 \_ -> _ :: _ 96 \_ -> _ :: _
97 (_rhs b) 97 (_rhs b)
98 \(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e) 98 \(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e)
99 c 99 c
100foldr1 100foldr1
101 = \(a :: _) (b :: _) -> 'ListCase 101 = \(a :: _) (b :: _) -> case'List
102 \_ -> _ :: _ 102 \_ -> _ :: _
103 (_rhs undefined) 103 (_rhs undefined)
104 \(c :: _) (d :: _) -> _rhs (foldr a c d) 104 \(c :: _) (d :: _) -> _rhs (foldr a c d)
105 b 105 b
106split 106split
107 = \(a :: _) -> 'ListCase 107 = \(a :: _) -> case'List
108 \_ -> _ :: _ 108 \_ -> _ :: _
109 (_rhs (HCons [] (HCons [] HNil))) 109 (_rhs (HCons [] (HCons [] HNil)))
110 \(b :: _) (c :: _) -> _rhs 110 \(b :: _) (c :: _) -> _rhs
@@ -131,14 +131,14 @@ split
131 d)) -> HCons (b : e) (HCons f HNil) 131 d)) -> HCons (b : e) (HCons f HNil)
132 a 132 a
133mergeBy 133mergeBy
134 = \(a :: _) (b :: _) (c :: _) -> 'ListCase 134 = \(a :: _) (b :: _) (c :: _) -> case'List
135 \_ -> _ :: _ 135 \_ -> _ :: _
136 (_rhs c) 136 (_rhs c)
137 \(d :: _) (e :: _) -> 'ListCase 137 \(d :: _) (e :: _) -> case'List
138 \_ -> _ :: _ 138 \_ -> _ :: _
139 (_rhs b) 139 (_rhs b)
140 \(f :: _) (g :: _) -> _rhs 140 \(f :: _) (g :: _) -> _rhs
141 ((\(h :: _) -> 'OrderingCase 141 ((\(h :: _) -> case'Ordering
142 \_ -> _ :: _ 142 \_ -> _ :: _
143 (d : mergeBy a e (f : g)) 143 (d : mergeBy a e (f : g))
144 (f : mergeBy a (d : e) g) 144 (f : mergeBy a (d : e) g)
@@ -148,10 +148,10 @@ mergeBy
148 c 148 c
149 b 149 b
150sortBy 150sortBy
151 = \(a :: _) (b :: _) -> 'ListCase 151 = \(a :: _) (b :: _) -> case'List
152 \_ -> _ :: _ 152 \_ -> _ :: _
153 (_rhs []) 153 (_rhs [])
154 \(c :: _) (d :: _) -> 'ListCase 154 \(c :: _) (d :: _) -> case'List
155 \_ -> _ :: _ 155 \_ -> _ :: _
156 (_rhs (c : [])) 156 (_rhs (c : []))
157 \_ -> \_ -> _rhs (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b))) 157 \_ -> \_ -> _rhs (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b)))
@@ -176,20 +176,20 @@ snd
176 \(c :: _) (d :: _) -> hlistNilCase (_ :: _) (_rhs c) d 176 \(c :: _) (d :: _) -> hlistNilCase (_ :: _) (_rhs c) d
177 b 177 b
178 a 178 a
179||| = \(a :: _) (b :: _) -> 'BoolCase \_ -> _ :: _ (_rhs b) (_rhs True) a 179||| = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs b) (_rhs True) a
180infixr 2 ||| 180infixr 2 |||
181&&& = \(a :: _) (b :: _) -> 'BoolCase \_ -> _ :: _ (_rhs False) (_rhs b) a 181&&& = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs False) (_rhs b) a
182infixr 3 &&& 182infixr 3 &&&
183data RecItem :: Type where 183data RecItem :: Type where
184 RecItem :: String -> Type -> RecItem 184 RecItem :: String -> Type -> RecItem
185recItemType = \(a :: _) -> 'RecItemCase \_ -> _ :: _ \_ (b :: _) -> _rhs b a 185recItemType = \(a :: _) -> case'RecItem \_ -> _ :: _ \_ (b :: _) -> _rhs b a
186data RecordC (_ :: [RecItem]) :: Type where 186data RecordC (_ :: [RecItem]) :: Type where
187 RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a 187 RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a
188isKeyC 188isKeyC
189 = \(a :: _) (b :: _) (c :: _) -> 'ListCase 189 = \(a :: _) (b :: _) (c :: _) -> case'List
190 \_ -> _ :: _ 190 \_ -> _ :: _
191 (_rhs ('Empty "")) 191 (_rhs ('Empty ""))
192 \(d :: _) (e :: _) -> 'RecItemCase 192 \(d :: _) (e :: _) -> case'RecItem
193 \_ -> _ :: _ 193 \_ -> _ :: _
194 \(f :: _) (g :: _) -> _rhs (primIfThenElse (a == f) (b ~ g) (isKeyC a b e)) 194 \(f :: _) (g :: _) -> _rhs (primIfThenElse (a == f) (b ~ g) (isKeyC a b e))
195 d 195 d
@@ -197,14 +197,14 @@ isKeyC
197fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) -> \_ -> a) 197fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) -> \_ -> a)
198sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a) 198sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a)
199project 199project
200 = (\ @(a :: _) @(b :: _) (c :: _) -> \ @_ (d :: _) -> 'ListCase 200 = (\ @(a :: _) @(b :: _) (c :: _) -> \ @_ (d :: _) -> case'List
201 \_ -> _ :: _ 201 \_ -> _ :: _
202 (_rhs undefined) 202 (_rhs undefined)
203 \(e :: _) (f :: _) -> 'RecItemCase 203 \(e :: _) (f :: _) -> case'RecItem
204 \_ -> _ :: _ 204 \_ -> _ :: _
205 \(g :: _) -> \_ -> 'RecordCCase 205 \(g :: _) -> \_ -> case'RecordC
206 \_ -> _ :: _ 206 \_ -> _ :: _
207 \(h :: _) -> 'BoolCase 207 \(h :: _) -> case'Bool
208 \_ -> _ :: _ 208 \_ -> _ :: _
209 (_rhs 209 (_rhs
210 (project 210 (project
@@ -448,17 +448,17 @@ lookat
448 -> Vec (fromInt 3) Float -> Mat (fromInt 4) (fromInt 4) Float 448 -> Vec (fromInt 3) Float -> Mat (fromInt 4) (fromInt 4) Float
449scale = \(a :: _) (b :: _) -> _rhs (b * V4 a a a 1.0) 449scale = \(a :: _) (b :: _) -> _rhs (b * V4 a a a 1.0)
450fromTo 450fromTo
451 = (\(a :: _) (b :: _) -> 'BoolCase 451 = (\(a :: _) (b :: _) -> case'Bool
452 \_ -> _ :: _ 452 \_ -> _ :: _
453 (_rhs (a : fromTo (a + fromInt 1) b)) 453 (_rhs (a : fromTo (a + fromInt 1) b))
454 (_rhs []) 454 (_rhs [])
455 (a > b)) 455 (a > b))
456 :: Float -> Float -> [Float] 456 :: Float -> Float -> [Float]
457!! 457!!
458 = (\(a :: _) (b :: _) -> 'ListCase 458 = (\(a :: _) (b :: _) -> case'List
459 \_ -> _ :: _ 459 \_ -> _ :: _
460 (_rhs undefined) 460 (_rhs undefined)
461 \(c :: _) (d :: _) -> 'BoolCase 461 \(c :: _) (d :: _) -> case'Bool
462 \_ -> _ :: _ 462 \_ -> _ :: _
463 (_rhs (d !! (b - fromInt 1))) 463 (_rhs (d !! (b - fromInt 1)))
464 (_rhs c) 464 (_rhs c)
@@ -492,7 +492,7 @@ snd :: forall a b . (a, b) -> b
492&&& :: Bool -> Bool -> Bool 492&&& :: Bool -> Bool -> Bool
493'RecItem :: Type 493'RecItem :: Type
494RecItem :: String -> Type -> RecItem 494RecItem :: String -> Type -> RecItem
495'RecItemCase 495case'RecItem
496 :: forall (a :: RecItem -> Type) 496 :: forall (a :: RecItem -> Type)
497 -> (forall (b :: String) c -> a ('RecItem b c)) -> forall (d :: RecItem) -> a d 497 -> (forall (b :: String) c -> a ('RecItem b c)) -> forall (d :: RecItem) -> a d
498match'RecItem 498match'RecItem
@@ -501,7 +501,7 @@ recItemType :: RecItem -> Type
501'RecordC :: [RecItem] -> Type 501'RecordC :: [RecItem] -> Type
502RecordCons 502RecordCons
503 :: forall (a :: [RecItem]) . HList (map RecItem Type recItemType a) -> RecordC a 503 :: forall (a :: [RecItem]) . HList (map RecItem Type recItemType a) -> RecordC a
504'RecordCCase 504case'RecordC
505 :: forall (a :: [RecItem]) 505 :: forall (a :: [RecItem])
506 . forall (b :: RecordC a -> Type) 506 . forall (b :: RecordC a -> Type)
507 -> (forall (c :: HList (map RecItem Type recItemType a)) -> b ('RecordCons c)) 507 -> (forall (c :: HList (map RecItem Type recItemType a)) -> b ('RecordCons c))
diff --git a/testdata/adhoc.reject.out b/testdata/adhoc.reject.out
index 8bfe623e..36501d29 100644
--- a/testdata/adhoc.reject.out
+++ b/testdata/adhoc.reject.out
@@ -5,7 +5,7 @@ x = one :: Vec 4 A
5------------ trace 5------------ trace
6'A :: Type 6'A :: Type
7A :: A 7A :: A
8'ACase :: forall (a :: A -> Type) -> a 'A -> forall (b :: A) -> a b 8case'A :: forall (a :: A -> Type) -> a 'A -> forall (b :: A) -> a b
9match'A :: forall (a :: Type -> Type) -> a A -> forall b -> a b -> a b 9match'A :: forall (a :: Type -> Type) -> a A -> forall b -> a b -> a b
10!type error: no instance of 'Component on ??? 10!type error: no instance of 'Component on ???
11in testdata/adhoc.reject.lc:4:5: 11in testdata/adhoc.reject.lc:4:5:
diff --git a/testdata/complex.out b/testdata/complex.out
index 6139432e..f6727829 100644
--- a/testdata/complex.out
+++ b/testdata/complex.out
@@ -10,17 +10,17 @@ normal
10polar 10polar
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 :: _) -> 'ReprCase 13 = (\ @(a :: _) (b :: _) -> case'Repr
14 \_ -> _ :: _ 14 \_ -> _ :: _
15 ('ComplexCase 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 ('ComplexCase \_ -> \_ -> _ :: _ \(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 :: _) -> 'ComplexCase 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
@@ -42,21 +42,21 @@ toPolar
42 a) 42 a)
43 :: Complex Normal -> Complex Polar 43 :: Complex Normal -> Complex Polar
44toNormal 44toNormal
45 = (\(a :: _) -> 'ComplexCase 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 :: _) -> 'ComplexCase \_ -> \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a 51 = \(a :: _) -> case'Complex \_ -> \_ -> _ :: _ \(b :: _) -> \_ -> _rhs b a
52add 52add
53 = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> 'ReprCase 53 = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr
54 \_ -> _ :: _ 54 \_ -> _ :: _
55 ('ReprCase 55 (case'Repr
56 \_ -> _ :: _ 56 \_ -> _ :: _
57 ('ComplexCase 57 (case'Complex
58 \_ -> \_ -> _ :: _ 58 \_ -> \_ -> _ :: _
59 \(e :: _) (f :: _) -> 'ComplexCase 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
@@ -67,13 +67,13 @@ add
67 a) 67 a)
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 :: _) -> 'ReprCase 70 = (\ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr
71 \_ -> _ :: _ 71 \_ -> _ :: _
72 ('ReprCase 72 (case'Repr
73 \_ -> _ :: _ 73 \_ -> _ :: _
74 ('ComplexCase 74 (case'Complex
75 \_ -> \_ -> _ :: _ 75 \_ -> \_ -> _ :: _
76 \(e :: _) (f :: _) -> 'ComplexCase 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
@@ -94,13 +94,13 @@ main is not found
94'Repr :: Type 94'Repr :: Type
95Normal :: Repr 95Normal :: Repr
96Polar :: Repr 96Polar :: Repr
97'ReprCase 97case'Repr
98 :: forall (a :: Repr -> Type) 98 :: forall (a :: Repr -> Type)
99 -> a 'Normal -> a 'Polar -> forall (b :: Repr) -> a b 99 -> a 'Normal -> a 'Polar -> forall (b :: Repr) -> a b
100match'Repr :: forall (a :: Type -> Type) -> a Repr -> forall b -> a b -> a b 100match'Repr :: forall (a :: Type -> Type) -> a Repr -> forall b -> a b -> a b
101'Complex :: Repr -> Type 101'Complex :: Repr -> Type
102Complex :: forall (a :: Repr) . Float -> Float -> Complex a 102Complex :: forall (a :: Repr) . Float -> Float -> Complex a
103'ComplexCase 103case'Complex
104 :: forall (a :: forall (b :: Repr) -> Complex b -> Type) 104 :: forall (a :: forall (b :: Repr) -> Complex b -> Type)
105 -> (forall (c :: Repr) 105 -> (forall (c :: Repr)
106 . forall (d :: Float) (e :: Float) -> a c ('Complex c d e)) 106 . forall (d :: Float) (e :: Float) -> a c ('Complex c d e))
diff --git a/testdata/data.out b/testdata/data.out
index 615a5361..3951ff90 100644
--- a/testdata/data.out
+++ b/testdata/data.out
@@ -9,7 +9,7 @@ data Data2 :: Type where
9 Data23 :: Int -> Data2 9 Data23 :: Int -> Data2
10 Data24 :: Data2 10 Data24 :: Data2
11x 11x
12 = \(a :: _) -> 'Data2Case 12 = \(a :: _) -> case'Data2
13 \_ -> _ :: _ 13 \_ -> _ :: _
14 \_ -> _rhs undefined 14 \_ -> _rhs undefined
15 \(b :: _) -> \_ -> _rhs b 15 \(b :: _) -> \_ -> _rhs b
@@ -17,7 +17,7 @@ x
17 (_rhs undefined) 17 (_rhs undefined)
18 a 18 a
19y 19y
20 = \(a :: _) -> 'Data2Case 20 = \(a :: _) -> case'Data2
21 \_ -> _ :: _ 21 \_ -> _ :: _
22 \_ -> _rhs undefined 22 \_ -> _rhs undefined
23 \_ (b :: _) -> _rhs b 23 \_ (b :: _) -> _rhs b
@@ -29,21 +29,21 @@ data Data5 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where
29 Data52 :: forall d e f . d -> e -> f -> Data5 d e f 29 Data52 :: forall d e f . d -> e -> f -> Data5 d e f
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 :: _) -> 'Data5Case 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 :: _) -> 'Data5Case 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 :: _) -> 'Data5Case 46 = \(a :: _) -> case'Data5
47 \_ -> _ :: _ 47 \_ -> _ :: _
48 \_ -> _rhs undefined 48 \_ -> _rhs undefined
49 \_ -> \_ (b :: _) -> _rhs b 49 \_ -> \_ (b :: _) -> _rhs b
@@ -53,12 +53,12 @@ main is not found
53------------ trace 53------------ trace
54'Data0 :: Type 54'Data0 :: Type
55Data0 :: Data0 55Data0 :: Data0
56'Data0Case 56case'Data0
57 :: forall (a :: Data0 -> Type) -> a 'Data0 -> forall (b :: Data0) -> a b 57 :: forall (a :: Data0 -> Type) -> a 'Data0 -> forall (b :: Data0) -> a b
58match'Data0 :: forall (a :: Type -> Type) -> a Data0 -> forall b -> a b -> a b 58match'Data0 :: forall (a :: Type -> Type) -> a Data0 -> forall b -> a b -> a b
59'Data1 :: Type -> Type -> Type -> Type 59'Data1 :: Type -> Type -> Type -> Type
60Data1 :: forall a b c . a -> b -> c -> Data1 a b c 60Data1 :: forall a b c . a -> b -> c -> Data1 a b c
61'Data1Case 61case'Data1
62 :: forall a b c 62 :: forall a b c
63 . forall (d :: Data1 a b c -> Type) 63 . forall (d :: Data1 a b c -> Type)
64 -> (forall (e :: a) (f :: b) (g :: c) -> d ('Data1 e f g)) 64 -> (forall (e :: a) (f :: b) (g :: c) -> d ('Data1 e f g))
@@ -71,7 +71,7 @@ Data21 :: Int -> Data2
71Data22 :: Int -> Int -> Data2 71Data22 :: Int -> Int -> Data2
72Data23 :: Int -> Data2 72Data23 :: Int -> Data2
73Data24 :: Data2 73Data24 :: Data2
74'Data2Case 74case'Data2
75 :: forall (a :: Data2 -> Type) 75 :: forall (a :: Data2 -> Type)
76 -> (forall (b :: Int) -> a ('Data21 b)) 76 -> (forall (b :: Int) -> a ('Data21 b))
77 -> (forall (c :: Int) (d :: Int) -> a ('Data22 c d)) 77 -> (forall (c :: Int) (d :: Int) -> a ('Data22 c d))
@@ -84,7 +84,7 @@ y :: Data2 -> Int
84Data51 :: forall a b c . a -> Data5 a b c 84Data51 :: forall a b c . a -> Data5 a b c
85Data52 :: forall a b c . a -> b -> c -> Data5 a b c 85Data52 :: forall a b c . a -> b -> c -> Data5 a b c
86Data53 :: forall a b c . Int -> a -> Float -> b -> c -> Data5 a b c 86Data53 :: forall a b c . Int -> a -> Float -> b -> c -> Data5 a b c
87'Data5Case 87case'Data5
88 :: forall a b c 88 :: forall a b c
89 . forall (d :: Data5 a b c -> Type) 89 . forall (d :: Data5 a b c -> Type)
90 -> (forall (e :: a) -> d ('Data51 e)) 90 -> (forall (e :: a) -> d ('Data51 e))
diff --git a/testdata/empty.out b/testdata/empty.out
index 03f47f97..41c61ca7 100644
--- a/testdata/empty.out
+++ b/testdata/empty.out
@@ -4,7 +4,7 @@ data Empty :: Type where
4main is not found 4main is not found
5------------ trace 5------------ trace
6'Empty :: Type 6'Empty :: Type
7'EmptyCase :: forall (a :: Empty -> Type) (b :: Empty) -> a b 7case'Empty :: forall (a :: Empty -> Type) (b :: Empty) -> a b
8match'Empty :: forall (a :: Type -> Type) -> a Empty -> forall b -> a b -> a b 8match'Empty :: forall (a :: Type -> Type) -> a Empty -> forall b -> a b -> a b
9------------ tooltips 9------------ tooltips
10testdata/empty.lc 3:6-3:11 10testdata/empty.lc 3:6-3:11
diff --git a/testdata/language-features/adt/adt02.reject.out b/testdata/language-features/adt/adt02.reject.out
index 0b4b0ba4..155444a2 100644
--- a/testdata/language-features/adt/adt02.reject.out
+++ b/testdata/language-features/adt/adt02.reject.out
@@ -8,7 +8,7 @@ in proj
8'Data3 :: Type 8'Data3 :: Type
9Data3 :: Bool -> Char -> Bool -> Data3 9Data3 :: Bool -> Char -> Bool -> Data3
10Data31 :: Int -> String -> Int -> Data3 10Data31 :: Int -> String -> Int -> Data3
11'Data3Case 11case'Data3
12 :: forall (a :: Data3 -> Type) 12 :: forall (a :: Data3 -> Type)
13 -> (forall (b :: Bool) (c :: Char) (d :: Bool) -> a ('Data3 b c d)) 13 -> (forall (b :: Bool) (c :: Char) (d :: Bool) -> a ('Data3 b c d))
14 -> (forall (e :: Int) (f :: String) (g :: Int) -> a ('Data31 e f g)) 14 -> (forall (e :: Int) (f :: String) (g :: Int) -> a ('Data31 e f g))
diff --git a/testdata/language-features/adt/gadt03.reject.out b/testdata/language-features/adt/gadt03.reject.out
index 38a50a8a..617050b6 100644
--- a/testdata/language-features/adt/gadt03.reject.out
+++ b/testdata/language-features/adt/gadt03.reject.out
@@ -2,7 +2,7 @@ illegal data definition (parameters are not uniform)
2------------ trace 2------------ trace
3'M2 :: Type -> String -> Type 3'M2 :: Type -> String -> Type
4Value2 :: forall a . a -> forall (b :: String) . M2 a b 4Value2 :: forall a . a -> forall (b :: String) . M2 a b
5'M2Case 5case'M2
6 :: forall a 6 :: forall a
7 . forall (b :: forall (c :: String) -> M2 a c -> Type) 7 . forall (b :: forall (c :: String) -> M2 a c -> Type)
8 -> (forall (d :: a) -> forall (e :: String) . b e ('Value2 d e)) 8 -> (forall (d :: a) -> forall (e :: String) . b e ('Value2 d e))
diff --git a/testdata/language-features/adt/gadt04.reject.out b/testdata/language-features/adt/gadt04.reject.out
index 0d911620..7d351f15 100644
--- a/testdata/language-features/adt/gadt04.reject.out
+++ b/testdata/language-features/adt/gadt04.reject.out
@@ -7,7 +7,7 @@ and at testdata/language-features/adt/gadt04.reject.lc:3:3:
7------------ trace 7------------ trace
8'M :: Type -> String -> Type 8'M :: Type -> String -> Type
9Value :: forall a . a -> forall (b :: String) . M a b 9Value :: forall a . a -> forall (b :: String) . M a b
10'MCase 10case'M
11 :: forall (a :: forall b (c :: String) -> M b c -> Type) 11 :: forall (a :: forall b (c :: String) -> M b c -> Type)
12 -> (forall d . forall (e :: d) -> forall (f :: String) . a d f ('Value d e f)) 12 -> (forall d . forall (e :: d) -> forall (f :: String) . a d f ('Value d e f))
13 -> forall g (h :: String) . forall (i :: M g h) -> a g h i 13 -> forall g (h :: String) . forall (i :: M g h) -> a g h i
diff --git a/testdata/language-features/basic-values/case02.out b/testdata/language-features/basic-values/case02.out
index 0a13ee00..15412d74 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 :: _) -> 'BoolCase \_ -> _ :: _ 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 :: _) -> 'BoolCase 7 ((\(a :: _) -> case'Bool
8 \_ -> _ :: _ 8 \_ -> _ :: _
9 ('BoolCase \_ -> _ :: _ "_" "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 8eb9ef70..0cbaf1ce 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 :: _) -> 'BoolCase \_ -> _ :: _ 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 0ebb8113..3fb83b8c 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 :: _) -> 'BoolCase \_ -> _ :: _ '_' '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/data01.out b/testdata/language-features/basic-values/data01.out
index f1d99bf2..7845cf0a 100644
--- a/testdata/language-features/basic-values/data01.out
+++ b/testdata/language-features/basic-values/data01.out
@@ -17,14 +17,14 @@ main is not found
17B :: A 17B :: A
18C :: A 18C :: A
19D :: A 19D :: A
20'ACase 20case'A
21 :: forall (a :: A -> Type) -> a 'B -> a 'C -> a 'D -> forall (b :: A) -> a b 21 :: forall (a :: A -> Type) -> a 'B -> a 'C -> a 'D -> forall (b :: A) -> a b
22match'A :: forall (a :: Type -> Type) -> a A -> forall b -> a b -> a b 22match'A :: forall (a :: Type -> Type) -> a A -> forall b -> a b -> a b
23'E :: Type 23'E :: Type
24F :: E 24F :: E
25G :: () -> E 25G :: () -> E
26H :: E 26H :: E
27'ECase 27case'E
28 :: forall (a :: E -> Type) 28 :: forall (a :: E -> Type)
29 -> a 'F -> (forall (b :: ()) -> a ('G b)) -> a 'H -> forall (c :: E) -> a c 29 -> a 'F -> (forall (b :: ()) -> a ('G b)) -> a 'H -> forall (c :: E) -> a c
30match'E :: forall (a :: Type -> Type) -> a E -> forall b -> a b -> a b 30match'E :: forall (a :: Type -> Type) -> a E -> forall b -> a b -> a b
@@ -32,7 +32,7 @@ match'E :: forall (a :: Type -> Type) -> a E -> forall b -> a b -> a b
32C1 :: D1 32C1 :: D1
33C2 :: () -> D1 33C2 :: () -> D1
34C3 :: D1 34C3 :: D1
35'D1Case 35case'D1
36 :: forall (a :: D1 -> Type) 36 :: forall (a :: D1 -> Type)
37 -> a 'C1 -> (forall (b :: ()) -> a ('C2 b)) -> a 'C3 -> forall (c :: D1) -> a c 37 -> a 'C1 -> (forall (b :: ()) -> a ('C2 b)) -> a 'C3 -> forall (c :: D1) -> a c
38match'D1 :: forall (a :: Type -> Type) -> a D1 -> forall b -> a b -> a b 38match'D1 :: forall (a :: Type -> Type) -> a D1 -> forall b -> a b -> a b
diff --git a/testdata/language-features/basic-values/def03.out b/testdata/language-features/basic-values/def03.out
index 63aa727f..f9a8d629 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 :: _) -> 'BoolCase 3 = \(a :: _) -> case'Bool
4 \_ -> _ :: _ 4 \_ -> _ :: _
5 ('BoolCase \_ -> _ :: _ (_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 a7f42118..de7336c1 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 :: _) -> 'BoolCase 3 = \(a :: _) -> case'Bool
4 \_ -> _ :: _ 4 \_ -> _ :: _
5 ('BoolCase \_ -> _ :: _ (_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 :: _) -> \_ -> 'BoolCase 9 = \(a :: _) -> \_ -> case'Bool
10 \_ -> _ :: _ 10 \_ -> _ :: _
11 ('BoolCase \_ -> _ :: _ (_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/infix03.out b/testdata/language-features/basic-values/infix03.out
index 8c85e0c4..81521b91 100644
--- a/testdata/language-features/basic-values/infix03.out
+++ b/testdata/language-features/basic-values/infix03.out
@@ -9,7 +9,7 @@ main is not found
9'D :: Type 9'D :: Type
10D2 :: () -> () -> D 10D2 :: () -> () -> D
11D3 :: () -> () -> () -> D 11D3 :: () -> () -> () -> D
12'DCase 12case'D
13 :: forall (a :: D -> Type) 13 :: forall (a :: D -> Type)
14 -> (forall (b :: ()) (c :: ()) -> a ('D2 b c)) 14 -> (forall (b :: ()) (c :: ()) -> a ('D2 b c))
15 -> (forall (d :: ()) (e :: ()) (f :: ()) -> a ('D3 d e f)) 15 -> (forall (d :: ()) (e :: ()) (f :: ()) -> a ('D3 d e f))
diff --git a/testdata/language-features/basic-values/where05.out b/testdata/language-features/basic-values/where05.out
index a16b9c91..8f5ef0e0 100644
--- a/testdata/language-features/basic-values/where05.out
+++ b/testdata/language-features/basic-values/where05.out
@@ -1,7 +1,7 @@
1------------ desugared source code 1------------ desugared source code
2value1 2value1
3 = _rhs 3 = _rhs
4 ((\(a :: _) -> 'BoolCase 4 ((\(a :: _) -> case'Bool
5 \_ -> _ :: _ 5 \_ -> _ :: _
6 HNil 6 HNil
7 \(b := _rhs HNil) -> b 7 \(b := _rhs HNil) -> b
@@ -9,7 +9,7 @@ value1
9 (fromInt 1)) 9 (fromInt 1))
10value2 10value2
11 = _rhs 11 = _rhs
12 ((\(a :: _) -> 'BoolCase 12 ((\(a :: _) -> case'Bool
13 \_ -> _ :: _ 13 \_ -> _ :: _
14 HNil 14 HNil
15 \(b := _rhs HNil) -> b 15 \(b := _rhs HNil) -> b
@@ -17,7 +17,7 @@ value2
17 (fromInt 1)) 17 (fromInt 1))
18value3 18value3
19 = _rhs 19 = _rhs
20 ((\(a :: _) -> 'BoolCase 20 ((\(a :: _) -> case'Bool
21 \_ -> _ :: _ 21 \_ -> _ :: _
22 HNil 22 HNil
23 \(b := _rhs HNil) -> b 23 \(b := _rhs HNil) -> b
@@ -25,7 +25,7 @@ value3
25 (fromInt 1)) 25 (fromInt 1))
26value4 26value4
27 = _rhs 27 = _rhs
28 \(a := _rhs HNil) -> (\(b :: _) -> 'BoolCase 28 \(a := _rhs HNil) -> (\(b :: _) -> case'Bool
29 \_ -> _ :: _ 29 \_ -> _ :: _
30 HNil 30 HNil
31 a 31 a
diff --git a/testdata/language-features/guard/guard01.out b/testdata/language-features/guard/guard01.out
index 2024e439..7979b597 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 = 'BoolCase \_ -> _ :: _ (_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 f6d6fde2..d872a41a 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 = 'BoolCase 3 = case'Bool
4 \_ -> _ :: _ 4 \_ -> _ :: _
5 ('BoolCase \_ -> _ :: _ (_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 71c66618..67f97310 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 = 'BoolCase \_ -> _ :: _ (_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 f138742f..d53bdc00 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 = 'BoolCase 3 = case'Bool
4 \_ -> _ :: _ 4 \_ -> _ :: _
5 ('BoolCase \_ -> _ :: _ (_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 c963ddf3..76334bcf 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 = 'BoolCase 3 = case'Bool
4 \_ -> _ :: _ 4 \_ -> _ :: _
5 ('BoolCase \_ -> _ :: _ (_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 4519075e..8b562ed0 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 = 'BoolCase 3 = case'Bool
4 \_ -> _ :: _ 4 \_ -> _ :: _
5 ('BoolCase \_ -> _ :: _ (_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 de87d5ea..087cb504 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 :: _) -> 'BoolCase \_ -> _ :: _ (_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 47d31f9a..9a470a2c 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 :: _) -> 'BoolCase \_ -> _ :: _ (_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 901fe596..46612e86 100644
--- a/testdata/language-features/guard/guard14.out
+++ b/testdata/language-features/guard/guard14.out
@@ -1,5 +1,5 @@
1------------ desugared source code 1------------ desugared source code
2value = _rhs \(a := 'BoolCase \_ -> _ :: _ (_rhs HNil) (_rhs HNil) True) -> HNil 2value = _rhs \(a := case'Bool \_ -> _ :: _ (_rhs HNil) (_rhs HNil) True) -> HNil
3main is not found 3main is not found
4------------ trace 4------------ trace
5value :: () 5value :: ()
diff --git a/testdata/language-features/guard/guard15.out b/testdata/language-features/guard/guard15.out
index 5938370b..39a1d1e6 100644
--- a/testdata/language-features/guard/guard15.out
+++ b/testdata/language-features/guard/guard15.out
@@ -1,5 +1,5 @@
1------------ desugared source code 1------------ desugared source code
2value = _rhs \(a := 'BoolCase \_ -> _ :: _ (_rhs HNil) (_rhs HNil) True) -> HNil 2value = _rhs \(a := case'Bool \_ -> _ :: _ (_rhs HNil) (_rhs HNil) True) -> HNil
3main is not found 3main is not found
4------------ trace 4------------ trace
5value :: () 5value :: ()
diff --git a/testdata/language-features/guard/guard16.out b/testdata/language-features/guard/guard16.out
index f90d684f..d31ed4ff 100644
--- a/testdata/language-features/guard/guard16.out
+++ b/testdata/language-features/guard/guard16.out
@@ -1,10 +1,10 @@
1------------ desugared source code 1------------ desugared source code
2value 2value
3 = _rhs 3 = _rhs
4 ((\(a :: _) -> 'BoolCase 4 ((\(a :: _) -> case'Bool
5 \_ -> _ :: _ 5 \_ -> _ :: _
6 HNil 6 HNil
7 ('BoolCase \_ -> _ :: _ 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 82bc15bb..6a62a1e1 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 :: _) -> 'BoolCase \_ -> _ :: _ (_rhs '_') (_rhs '0') (fromInt 0 == a) 3 = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '0') (fromInt 0 == a)
4fun2 = \(a :: _) -> 'BoolCase \_ -> _ :: _ (_rhs '_') (_rhs '0') ("0" == a) 4fun2 = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs '_') (_rhs '0') ("0" == a)
5fun3 = \(a :: _) -> 'BoolCase \_ -> _ :: _ (_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 9cf9ef79..79b234a6 100644
--- a/testdata/language-features/pattern/uncovered.out
+++ b/testdata/language-features/pattern/uncovered.out
@@ -1,37 +1,37 @@
1------------ desugared source code 1------------ desugared source code
2f 2f
3 = \(a :: _) (b :: _) (c :: _) -> 'BoolCase 3 = \(a :: _) (b :: _) (c :: _) -> case'Bool
4 \_ -> _ :: _ 4 \_ -> _ :: _
5 ('BoolCase 5 (case'Bool
6 \_ -> _ :: _ 6 \_ -> _ :: _
7 ('BoolCase \_ -> _ :: _ (_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 ('BoolCase 10 (case'Bool
11 \_ -> _ :: _ 11 \_ -> _ :: _
12 (_rhs (fromInt 0)) 12 (_rhs (fromInt 0))
13 ('BoolCase \_ -> _ :: _ (_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 :: _) -> 'ListCase 17 = \(a :: _) -> case'List
18 \_ -> _ :: _ 18 \_ -> _ :: _
19 (_rhs undefined) 19 (_rhs undefined)
20 \(b :: _) (c :: _) -> 'BoolCase 20 \(b :: _) (c :: _) -> case'Bool
21 \_ -> _ :: _ 21 \_ -> _ :: _
22 (_rhs undefined) 22 (_rhs undefined)
23 ('ListCase 23 (case'List
24 \_ -> _ :: _ 24 \_ -> _ :: _
25 (_rhs undefined) 25 (_rhs undefined)
26 \(d :: _) (e :: _) -> 'BoolCase 26 \(d :: _) (e :: _) -> case'Bool
27 \_ -> _ :: _ 27 \_ -> _ :: _
28 ('ListCase 28 (case'List
29 \_ -> _ :: _ 29 \_ -> _ :: _
30 (_rhs undefined) 30 (_rhs undefined)
31 \(f :: _) (g :: _) -> 'BoolCase 31 \(f :: _) (g :: _) -> case'Bool
32 \_ -> _ :: _ 32 \_ -> _ :: _
33 (_rhs undefined) 33 (_rhs undefined)
34 ('ListCase \_ -> _ :: _ (_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)
@@ -40,28 +40,28 @@ g
40 b 40 b
41 a 41 a
42h 42h
43 = \(a :: _) -> 'ListCase 43 = \(a :: _) -> case'List
44 \_ -> _ :: _ 44 \_ -> _ :: _
45 (_rhs undefined) 45 (_rhs undefined)
46 \(b :: _) (c :: _) -> 'ListCase 46 \(b :: _) (c :: _) -> case'List
47 \_ -> _ :: _ 47 \_ -> _ :: _
48 (_rhs undefined) 48 (_rhs undefined)
49 \(d :: _) (e :: _) -> 'BoolCase 49 \(d :: _) (e :: _) -> case'Bool
50 \_ -> _ :: _ 50 \_ -> _ :: _
51 (_rhs undefined) 51 (_rhs undefined)
52 ('ListCase 52 (case'List
53 \_ -> _ :: _ 53 \_ -> _ :: _
54 ('ListCase 54 (case'List
55 \_ -> _ :: _ 55 \_ -> _ :: _
56 (_rhs undefined) 56 (_rhs undefined)
57 \(f :: _) (g :: _) -> 'ListCase 57 \(f :: _) (g :: _) -> case'List
58 \_ -> _ :: _ 58 \_ -> _ :: _
59 (_rhs undefined) 59 (_rhs undefined)
60 \(h :: _) (i :: _) -> 'BoolCase 60 \(h :: _) (i :: _) -> case'Bool
61 \_ -> _ :: _ 61 \_ -> _ :: _
62 ('ListCase 62 (case'List
63 \_ -> _ :: _ 63 \_ -> _ :: _
64 ('ListCase \_ -> _ :: _ (_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)
diff --git a/testdata/language-features/recursion/simplerec01.out b/testdata/language-features/recursion/simplerec01.out
index f46727b7..8b26638c 100644
--- a/testdata/language-features/recursion/simplerec01.out
+++ b/testdata/language-features/recursion/simplerec01.out
@@ -1,6 +1,6 @@
1------------ desugared source code 1------------ desugared source code
2fun 2fun
3 = \(a :: _) -> 'BoolCase 3 = \(a :: _) -> case'Bool
4 \_ -> _ :: _ 4 \_ -> _ :: _
5 (_rhs (fun (fromInt 0))) 5 (_rhs (fun (fromInt 0)))
6 (_rhs 'a') 6 (_rhs 'a')
diff --git a/testdata/language-features/recursion/simplerec02.out b/testdata/language-features/recursion/simplerec02.out
index becc3390..785ea0a0 100644
--- a/testdata/language-features/recursion/simplerec02.out
+++ b/testdata/language-features/recursion/simplerec02.out
@@ -3,7 +3,7 @@ value
3 = _rhs 3 = _rhs
4 \(a 4 \(a
5 := primFix 5 := primFix
6 \(b :: _) (c :: _) -> 'BoolCase 6 \(b :: _) (c :: _) -> case'Bool
7 \_ -> _ :: _ 7 \_ -> _ :: _
8 (_rhs (b (fromInt 0))) 8 (_rhs (b (fromInt 0)))
9 (_rhs 'a') 9 (_rhs 'a')
diff --git a/testdata/language-features/recursion/simplerec03.out b/testdata/language-features/recursion/simplerec03.out
index 51fac6c9..273791dd 100644
--- a/testdata/language-features/recursion/simplerec03.out
+++ b/testdata/language-features/recursion/simplerec03.out
@@ -3,7 +3,7 @@ value
3 = _rhs 3 = _rhs
4 \(a 4 \(a
5 := primFix 5 := primFix
6 \(b :: _) (c :: _) -> 'BoolCase 6 \(b :: _) (c :: _) -> case'Bool
7 \_ -> _ :: _ 7 \_ -> _ :: _
8 (_rhs (b (fromInt 0))) 8 (_rhs (b (fromInt 0)))
9 (_rhs 'a') 9 (_rhs 'a')
diff --git a/testdata/performance/Material.out b/testdata/performance/Material.out
index 604cf0fd..510d3b92 100644
--- a/testdata/performance/Material.out
+++ b/testdata/performance/Material.out
@@ -6,13 +6,13 @@ 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 :: _) -> 'EntityCase \_ -> _ :: _ \(b :: _) -> \_ -> \_ -> \_ -> _rhs b a 9 = \(a :: _) -> case'Entity \_ -> _ :: _ \(b :: _) -> \_ -> \_ -> \_ -> _rhs b a
10eDirectedLight 10eDirectedLight
11 = \(a :: _) -> 'EntityCase \_ -> _ :: _ \_ (b :: _) -> \_ -> \_ -> _rhs b a 11 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ (b :: _) -> \_ -> \_ -> _rhs b a
12eLightDir 12eLightDir
13 = \(a :: _) -> 'EntityCase \_ -> _ :: _ \_ -> \_ (b :: _) -> \_ -> _rhs b a 13 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ (b :: _) -> \_ -> _rhs b a
14eShaderRGBA 14eShaderRGBA
15 = \(a :: _) -> 'EntityCase \_ -> _ :: _ \_ -> \_ -> \_ (b :: _) -> _rhs b a 15 = \(a :: _) -> case'Entity \_ -> _ :: _ \_ -> \_ -> \_ (b :: _) -> _rhs b a
16data WaveType :: Type where 16data WaveType :: Type where
17 WT_Sin :: WaveType 17 WT_Sin :: WaveType
18 WT_Triangle :: WaveType 18 WT_Triangle :: WaveType
@@ -113,57 +113,57 @@ data StageAttrs :: Type where
113 -> StageTexture 113 -> StageTexture
114 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs 114 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs
115saBlend 115saBlend
116 = \(a :: _) -> 'StageAttrsCase 116 = \(a :: _) -> case'StageAttrs
117 \_ -> _ :: _ 117 \_ -> _ :: _
118 \(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 118 \(b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
119 a 119 a
120saRGBGen 120saRGBGen
121 = \(a :: _) -> 'StageAttrsCase 121 = \(a :: _) -> case'StageAttrs
122 \_ -> _ :: _ 122 \_ -> _ :: _
123 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 123 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
124 a 124 a
125saAlphaGen 125saAlphaGen
126 = \(a :: _) -> 'StageAttrsCase 126 = \(a :: _) -> case'StageAttrs
127 \_ -> _ :: _ 127 \_ -> _ :: _
128 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 128 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
129 a 129 a
130saTCGen 130saTCGen
131 = \(a :: _) -> 'StageAttrsCase 131 = \(a :: _) -> case'StageAttrs
132 \_ -> _ :: _ 132 \_ -> _ :: _
133 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 133 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
134 a 134 a
135saTCMod 135saTCMod
136 = \(a :: _) -> 'StageAttrsCase 136 = \(a :: _) -> case'StageAttrs
137 \_ -> _ :: _ 137 \_ -> _ :: _
138 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 138 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
139 a 139 a
140saTexture 140saTexture
141 = \(a :: _) -> 'StageAttrsCase 141 = \(a :: _) -> case'StageAttrs
142 \_ -> _ :: _ 142 \_ -> _ :: _
143 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b 143 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs b
144 a 144 a
145saDepthWrite 145saDepthWrite
146 = \(a :: _) -> 'StageAttrsCase 146 = \(a :: _) -> case'StageAttrs
147 \_ -> _ :: _ 147 \_ -> _ :: _
148 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b 148 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs b
149 a 149 a
150saDepthFunc 150saDepthFunc
151 = \(a :: _) -> 'StageAttrsCase 151 = \(a :: _) -> case'StageAttrs
152 \_ -> _ :: _ 152 \_ -> _ :: _
153 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b 153 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs b
154 a 154 a
155saAlphaFunc 155saAlphaFunc
156 = \(a :: _) -> 'StageAttrsCase 156 = \(a :: _) -> case'StageAttrs
157 \_ -> _ :: _ 157 \_ -> _ :: _
158 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b 158 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs b
159 a 159 a
160saDepthMaskExplicit 160saDepthMaskExplicit
161 = \(a :: _) -> 'StageAttrsCase 161 = \(a :: _) -> case'StageAttrs
162 \_ -> _ :: _ 162 \_ -> _ :: _
163 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b 163 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs b
164 a 164 a
165saTextureUniform 165saTextureUniform
166 = \(a :: _) -> 'StageAttrsCase 166 = \(a :: _) -> case'StageAttrs
167 \_ -> _ :: _ 167 \_ -> _ :: _
168 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b 168 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs b
169 a 169 a
@@ -192,74 +192,74 @@ data CommonAttrs :: Type where
192 -> Bool 192 -> Bool
193 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs 193 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs
194caSkyParms 194caSkyParms
195 = \(a :: _) -> 'CommonAttrsCase 195 = \(a :: _) -> case'CommonAttrs
196 \_ -> _ :: _ 196 \_ -> _ :: _
197 \(b 197 \(b
198 :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 198 :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
199 b 199 b
200 a 200 a
201caFogParms 201caFogParms
202 = \(a :: _) -> 'CommonAttrsCase 202 = \(a :: _) -> case'CommonAttrs
203 \_ -> _ :: _ 203 \_ -> _ :: _
204 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 204 \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
205 b 205 b
206 a 206 a
207caPortal 207caPortal
208 = \(a :: _) -> 'CommonAttrsCase 208 = \(a :: _) -> case'CommonAttrs
209 \_ -> _ :: _ 209 \_ -> _ :: _
210 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 210 \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
211 b 211 b
212 a 212 a
213caSort 213caSort
214 = \(a :: _) -> 'CommonAttrsCase 214 = \(a :: _) -> case'CommonAttrs
215 \_ -> _ :: _ 215 \_ -> _ :: _
216 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 216 \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
217 b 217 b
218 a 218 a
219caEntityMergable 219caEntityMergable
220 = \(a :: _) -> 'CommonAttrsCase 220 = \(a :: _) -> case'CommonAttrs
221 \_ -> _ :: _ 221 \_ -> _ :: _
222 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 222 \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
223 b 223 b
224 a 224 a
225caFogOnly 225caFogOnly
226 = \(a :: _) -> 'CommonAttrsCase 226 = \(a :: _) -> case'CommonAttrs
227 \_ -> _ :: _ 227 \_ -> _ :: _
228 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 228 \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
229 b 229 b
230 a 230 a
231caCull 231caCull
232 = \(a :: _) -> 'CommonAttrsCase 232 = \(a :: _) -> case'CommonAttrs
233 \_ -> _ :: _ 233 \_ -> _ :: _
234 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs 234 \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> \_ -> _rhs
235 b 235 b
236 a 236 a
237caDeformVertexes 237caDeformVertexes
238 = \(a :: _) -> 'CommonAttrsCase 238 = \(a :: _) -> case'CommonAttrs
239 \_ -> _ :: _ 239 \_ -> _ :: _
240 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs 240 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> \_ -> _rhs
241 b 241 b
242 a 242 a
243caNoMipMaps 243caNoMipMaps
244 = \(a :: _) -> 'CommonAttrsCase 244 = \(a :: _) -> case'CommonAttrs
245 \_ -> _ :: _ 245 \_ -> _ :: _
246 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs 246 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> \_ -> _rhs
247 b 247 b
248 a 248 a
249caPolygonOffset 249caPolygonOffset
250 = \(a :: _) -> 'CommonAttrsCase 250 = \(a :: _) -> case'CommonAttrs
251 \_ -> _ :: _ 251 \_ -> _ :: _
252 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs 252 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> \_ -> _rhs
253 b 253 b
254 a 254 a
255caStages 255caStages
256 = \(a :: _) -> 'CommonAttrsCase 256 = \(a :: _) -> case'CommonAttrs
257 \_ -> _ :: _ 257 \_ -> _ :: _
258 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs 258 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> \_ -> _rhs
259 b 259 b
260 a 260 a
261caIsSky 261caIsSky
262 = \(a :: _) -> 'CommonAttrsCase 262 = \(a :: _) -> case'CommonAttrs
263 \_ -> _ :: _ 263 \_ -> _ :: _
264 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs 264 \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ -> \_ (b :: _) -> _rhs
265 b 265 b
@@ -285,7 +285,7 @@ main is not found
285identityLight :: Float 285identityLight :: Float
286'Entity :: Type 286'Entity :: Type
287Entity :: Vec 4 Float -> Vec 4 Float -> Vec 3 Float -> Vec 4 Float -> Entity 287Entity :: Vec 4 Float -> Vec 4 Float -> Vec 3 Float -> Vec 4 Float -> Entity
288'EntityCase 288case'Entity
289 :: forall (a :: Entity -> Type) 289 :: forall (a :: Entity -> Type)
290 -> (forall (b :: Vec 4 Float) 290 -> (forall (b :: Vec 4 Float)
291 (c :: Vec 4 Float) (d :: Vec 3 Float) (e :: Vec 4 Float) 291 (c :: Vec 4 Float) (d :: Vec 3 Float) (e :: Vec 4 Float)
@@ -303,7 +303,7 @@ WT_Square :: WaveType
303WT_Sawtooth :: WaveType 303WT_Sawtooth :: WaveType
304WT_InverseSawtooth :: WaveType 304WT_InverseSawtooth :: WaveType
305WT_Noise :: WaveType 305WT_Noise :: WaveType
306'WaveTypeCase 306case'WaveType
307 :: forall (a :: WaveType -> Type) 307 :: forall (a :: WaveType -> Type)
308 -> a 'WT_Sin 308 -> a 'WT_Sin
309 -> a 'WT_Triangle 309 -> a 'WT_Triangle
@@ -314,7 +314,7 @@ match'WaveType
314 :: forall (a :: Type -> Type) -> a WaveType -> forall b -> a b -> a b 314 :: forall (a :: Type -> Type) -> a WaveType -> forall b -> a b -> a b
315'Wave :: Type 315'Wave :: Type
316Wave :: WaveType -> Float -> Float -> Float -> Float -> Wave 316Wave :: WaveType -> Float -> Float -> Float -> Float -> Wave
317'WaveCase 317case'Wave
318 :: forall (a :: Wave -> Type) 318 :: forall (a :: Wave -> Type)
319 -> (forall (b :: WaveType) (c :: Float) (d :: Float) (e :: Float) (f :: Float) 319 -> (forall (b :: WaveType) (c :: Float) (d :: Float) (e :: Float) (f :: Float)
320 -> a ('Wave b c d e f)) 320 -> a ('Wave b c d e f))
@@ -336,7 +336,7 @@ D_Text5 :: Deform
336D_Text6 :: Deform 336D_Text6 :: Deform
337D_Text7 :: Deform 337D_Text7 :: Deform
338D_Wave :: Float -> Wave -> Deform 338D_Wave :: Float -> Wave -> Deform
339'DeformCase 339case'Deform
340 :: forall (a :: Deform -> Type) 340 :: forall (a :: Deform -> Type)
341 -> a 'D_AutoSprite 341 -> a 'D_AutoSprite
342 -> a 'D_AutoSprite2 342 -> a 'D_AutoSprite2
@@ -359,7 +359,7 @@ match'Deform :: forall (a :: Type -> Type) -> a Deform -> forall b -> a b -> a b
359CT_FrontSided :: CullType 359CT_FrontSided :: CullType
360CT_BackSided :: CullType 360CT_BackSided :: CullType
361CT_TwoSided :: CullType 361CT_TwoSided :: CullType
362'CullTypeCase 362case'CullType
363 :: forall (a :: CullType -> Type) 363 :: forall (a :: CullType -> Type)
364 -> a 'CT_FrontSided 364 -> a 'CT_FrontSided
365 -> a 'CT_BackSided -> a 'CT_TwoSided -> forall (b :: CullType) -> a b 365 -> a 'CT_BackSided -> a 'CT_TwoSided -> forall (b :: CullType) -> a b
@@ -377,7 +377,7 @@ B_SrcAlpha :: Blending'
377B_SrcAlphaSaturate :: Blending' 377B_SrcAlphaSaturate :: Blending'
378B_SrcColor :: Blending' 378B_SrcColor :: Blending'
379B_Zero :: Blending' 379B_Zero :: Blending'
380'Blending'Case 380case'Blending'
381 :: forall (a :: Blending' -> Type) 381 :: forall (a :: Blending' -> Type)
382 -> a 'B_DstAlpha 382 -> a 'B_DstAlpha
383 -> a 'B_DstColor 383 -> a 'B_DstColor
@@ -403,7 +403,7 @@ RGB_Vertex :: RGBGen
403RGB_LightingDiffuse :: RGBGen 403RGB_LightingDiffuse :: RGBGen
404RGB_OneMinusVertex :: RGBGen 404RGB_OneMinusVertex :: RGBGen
405RGB_Undefined :: RGBGen 405RGB_Undefined :: RGBGen
406'RGBGenCase 406case'RGBGen
407 :: forall (a :: RGBGen -> Type) 407 :: forall (a :: RGBGen -> Type)
408 -> (forall (b :: Wave) -> a ('RGB_Wave b)) 408 -> (forall (b :: Wave) -> a ('RGB_Wave b))
409 -> (forall (c :: Float) (d :: Float) (e :: Float) -> a ('RGB_Const c d e)) 409 -> (forall (c :: Float) (d :: Float) (e :: Float) -> a ('RGB_Const c d e))
@@ -426,7 +426,7 @@ A_OneMinusEntity :: AlphaGen
426A_Vertex :: AlphaGen 426A_Vertex :: AlphaGen
427A_LightingSpecular :: AlphaGen 427A_LightingSpecular :: AlphaGen
428A_OneMinusVertex :: AlphaGen 428A_OneMinusVertex :: AlphaGen
429'AlphaGenCase 429case'AlphaGen
430 :: forall (a :: AlphaGen -> Type) 430 :: forall (a :: AlphaGen -> Type)
431 -> (forall (b :: Wave) -> a ('A_Wave b)) 431 -> (forall (b :: Wave) -> a ('A_Wave b))
432 -> (forall (c :: Float) -> a ('A_Const c)) 432 -> (forall (c :: Float) -> a ('A_Const c))
@@ -444,7 +444,7 @@ TG_Lightmap :: TCGen
444TG_Environment :: TCGen 444TG_Environment :: TCGen
445TG_Vector :: Vec 3 Float -> Vec 3 Float -> TCGen 445TG_Vector :: Vec 3 Float -> Vec 3 Float -> TCGen
446TG_Undefined :: TCGen 446TG_Undefined :: TCGen
447'TCGenCase 447case'TCGen
448 :: forall (a :: TCGen -> Type) 448 :: forall (a :: TCGen -> Type)
449 -> a 'TG_Base 449 -> a 'TG_Base
450 -> a 'TG_Lightmap 450 -> a 'TG_Lightmap
@@ -460,7 +460,7 @@ TM_Scale :: Float -> Float -> TCMod
460TM_Stretch :: Wave -> TCMod 460TM_Stretch :: Wave -> TCMod
461TM_Transform :: Float -> Float -> Float -> Float -> Float -> Float -> TCMod 461TM_Transform :: Float -> Float -> Float -> Float -> Float -> Float -> TCMod
462TM_Turb :: Float -> Float -> Float -> Float -> TCMod 462TM_Turb :: Float -> Float -> Float -> Float -> TCMod
463'TCModCase 463case'TCMod
464 :: forall (a :: TCMod -> Type) 464 :: forall (a :: TCMod -> Type)
465 -> a 'TM_EntityTranslate 465 -> a 'TM_EntityTranslate
466 -> (forall (b :: Float) -> a ('TM_Rotate b)) 466 -> (forall (b :: Float) -> a ('TM_Rotate b))
@@ -480,7 +480,7 @@ ST_ClampMap :: String -> StageTexture
480ST_AnimMap :: Float -> [String] -> StageTexture 480ST_AnimMap :: Float -> [String] -> StageTexture
481ST_Lightmap :: StageTexture 481ST_Lightmap :: StageTexture
482ST_WhiteImage :: StageTexture 482ST_WhiteImage :: StageTexture
483'StageTextureCase 483case'StageTexture
484 :: forall (a :: StageTexture -> Type) 484 :: forall (a :: StageTexture -> Type)
485 -> (forall (b :: String) -> a ('ST_Map b)) 485 -> (forall (b :: String) -> a ('ST_Map b))
486 -> (forall (c :: String) -> a ('ST_ClampMap c)) 486 -> (forall (c :: String) -> a ('ST_ClampMap c))
@@ -492,7 +492,7 @@ match'StageTexture
492A_Gt0 :: AlphaFunction 492A_Gt0 :: AlphaFunction
493A_Lt128 :: AlphaFunction 493A_Lt128 :: AlphaFunction
494A_Ge128 :: AlphaFunction 494A_Ge128 :: AlphaFunction
495'AlphaFunctionCase 495case'AlphaFunction
496 :: forall (a :: AlphaFunction -> Type) 496 :: forall (a :: AlphaFunction -> Type)
497 -> a 'A_Gt0 -> a 'A_Lt128 -> a 'A_Ge128 -> forall (b :: AlphaFunction) -> a b 497 -> a 'A_Gt0 -> a 'A_Lt128 -> a 'A_Ge128 -> forall (b :: AlphaFunction) -> a b
498match'AlphaFunction 498match'AlphaFunction
@@ -500,7 +500,7 @@ match'AlphaFunction
500'DepthFunction :: Type 500'DepthFunction :: Type
501D_Equal :: DepthFunction 501D_Equal :: DepthFunction
502D_Lequal :: DepthFunction 502D_Lequal :: DepthFunction
503'DepthFunctionCase 503case'DepthFunction
504 :: forall (a :: DepthFunction -> Type) 504 :: forall (a :: DepthFunction -> Type)
505 -> a 'D_Equal -> a 'D_Lequal -> forall (b :: DepthFunction) -> a b 505 -> a 'D_Equal -> a 'D_Lequal -> forall (b :: DepthFunction) -> a b
506match'DepthFunction 506match'DepthFunction
@@ -514,7 +514,7 @@ StageAttrs
514 -> [TCMod] 514 -> [TCMod]
515 -> StageTexture 515 -> StageTexture
516 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs 516 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs
517'StageAttrsCase 517case'StageAttrs
518 :: forall (a :: StageAttrs -> Type) 518 :: forall (a :: StageAttrs -> Type)
519 -> (forall (b :: Maybe (Blending', Blending')) 519 -> (forall (b :: Maybe (Blending', Blending'))
520 (c :: RGBGen) 520 (c :: RGBGen)
@@ -549,7 +549,7 @@ CommonAttrs
549 -> Bool 549 -> Bool
550 -> Bool 550 -> Bool
551 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs 551 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs
552'CommonAttrsCase 552case'CommonAttrs
553 :: forall (a :: CommonAttrs -> Type) 553 :: forall (a :: CommonAttrs -> Type)
554 -> (forall (b :: ()) 554 -> (forall (b :: ())
555 (c :: ()) 555 (c :: ())
diff --git a/testdata/traceTest.out b/testdata/traceTest.out
index fe085529..be79b652 100644
--- a/testdata/traceTest.out
+++ b/testdata/traceTest.out
@@ -7,7 +7,7 @@ main is not found
7------------ trace 7------------ trace
8id :: forall a . a -> a 8id :: forall a . a -> a
9'X :: forall a . a -> Type 9'X :: forall a . a -> Type
10'XCase :: forall a (b :: a) . forall (c :: X a b -> Type) (d :: X a b) -> c d 10case'X :: forall a (b :: a) . forall (c :: X a b -> Type) (d :: X a b) -> c d
11match'X 11match'X
12 :: forall (a :: Type -> Type) 12 :: forall (a :: Type -> Type)
13 -> (forall b . forall (c :: b) -> a (X b c)) -> forall d -> a d -> a d 13 -> (forall b . forall (c :: b) -> a (X b c)) -> forall d -> a d -> a d
diff --git a/testdata/typeclass.out b/testdata/typeclass.out
index cb227dbc..10d209d5 100644
--- a/testdata/typeclass.out
+++ b/testdata/typeclass.out
@@ -4,9 +4,9 @@ infix 4 /=
4infix 4 < 4infix 4 <
5infixr 3 && 5infixr 3 &&
6infixr 2 || 6infixr 2 ||
7not = \(a :: _) -> 'BoolCase \_ -> _ :: _ (_rhs True) (_rhs False) a 7not = \(a :: _) -> case'Bool \_ -> _ :: _ (_rhs True) (_rhs False) a
8&& = \(a :: _) (b :: _) -> 'BoolCase \_ -> _ :: _ (_rhs False) (_rhs b) a 8&& = \(a :: _) (b :: _) -> case'Bool \_ -> _ :: _ (_rhs False) (_rhs b) a
9|| = \(a :: _) (b :: _) -> 'BoolCase \_ -> _ :: _ (_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 \_ -> _
@@ -19,7 +19,7 @@ not = \(a :: _) -> 'BoolCase \_ -> _ :: _ (_rhs True) (_rhs False) a
19 \_ -> _ 19 \_ -> _
20 (_rhs 20 (_rhs
21 \(b 21 \(b
22 := \(c :: _) (d :: _) -> 'BoolCase \_ -> _ :: _ (_rhs (not d)) (_rhs d) c) -> b) 22 := \(c :: _) (d :: _) -> case'Bool \_ -> _ :: _ (_rhs (not d)) (_rhs d) c) -> b)
23 a 23 a
24 (_rhs undefined)) 24 (_rhs undefined))
25 :: forall e . Eq e => e -> e -> Bool 25 :: forall e . Eq e => e -> e -> Bool
diff --git a/testdata/typesig.reject.out b/testdata/typesig.reject.out
index 90566f2c..15258640 100644
--- a/testdata/typesig.reject.out
+++ b/testdata/typesig.reject.out
@@ -4,7 +4,7 @@ focus checkMetas: \(a :: Type) -> (\(b :: Type) -> primFix a b)
4------------ trace 4------------ trace
5'X :: Type 5'X :: Type
6X :: X 6X :: X
7'XCase :: forall (a :: X -> Type) -> a 'X -> forall (b :: X) -> a b 7case'X :: forall (a :: X -> Type) -> a 'X -> forall (b :: X) -> a b
8match'X :: forall (a :: Type -> Type) -> a X -> forall b -> a b -> a b 8match'X :: forall (a :: Type -> Type) -> a X -> forall b -> a b -> a b
9!focus checkMetas: \(a :: Type) -> (\(b :: Type) -> primFix a b) 9!focus checkMetas: \(a :: Type) -> (\(b :: Type) -> primFix a b)
10 \(a := Type) -> \(c :: Type) -> <<HERE>> 10 \(a := Type) -> \(c :: Type) -> <<HERE>>
diff --git a/testdata/typesigctx.reject.out b/testdata/typesigctx.reject.out
index ff06cec2..631b9a16 100644
--- a/testdata/typesigctx.reject.out
+++ b/testdata/typesigctx.reject.out
@@ -3,7 +3,7 @@ in Wildcard2 builtin 'Type
3------------ trace 3------------ trace
4'X :: Type 4'X :: Type
5X :: X 5X :: X
6'XCase :: forall (a :: X -> Type) -> a 'X -> forall (b :: X) -> a b 6case'X :: forall (a :: X -> Type) -> a 'X -> forall (b :: X) -> a b
7match'X :: forall (a :: Type -> Type) -> a X -> forall b -> a b -> a b 7match'X :: forall (a :: Type -> Type) -> a X -> forall b -> a b -> a b
8'Show' :: Type -> Type 8'Show' :: Type -> Type
9show' :: forall a . Show' a => a -> X 9show' :: forall a . Show' a => a -> X
diff --git a/testdata/zip01.out b/testdata/zip01.out
index 1f7d4c25..6393822e 100644
--- a/testdata/zip01.out
+++ b/testdata/zip01.out
@@ -1,9 +1,9 @@
1------------ desugared source code 1------------ desugared source code
2zip2 2zip2
3 = (\(a :: _) (b :: _) -> 'ListCase 3 = (\(a :: _) (b :: _) -> case'List
4 \_ -> _ :: _ 4 \_ -> _ :: _
5 (_rhs []) 5 (_rhs [])
6 \(c :: _) (d :: _) -> 'ListCase 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)