summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-05-04 16:41:56 +0200
committerPéter Diviánszky <divipp@gmail.com>2016-05-04 16:41:56 +0200
commitd09859323b7213d6b3c3baf485d8389100faf469 (patch)
treeeda20598a3729354cd702e847d648dadfa3acf44 /testdata
parent6066e1154af07dd27733343199fd51758fed6c52 (diff)
implement constraint kinds
Diffstat (limited to 'testdata')
-rw-r--r--testdata/Builtins.out837
-rw-r--r--testdata/Internals.out703
-rw-r--r--testdata/Prelude.out122
-rw-r--r--testdata/typeclass.out12
-rw-r--r--testdata/typesig.reject.out4
-rw-r--r--testdata/typesigctx.reject.out10
6 files changed, 883 insertions, 805 deletions
diff --git a/testdata/Builtins.out b/testdata/Builtins.out
index 8730e52a..6c11e155 100644
--- a/testdata/Builtins.out
+++ b/testdata/Builtins.out
@@ -89,31 +89,31 @@ data Mat :: Nat -> Nat -> Type -> Type where
89 a 89 a
90 (match'Mat (\_ -> _) (\_ _ (c :: _) -> _rhs c) a undefined)))) 90 (match'Mat (\_ -> _) (\_ _ (c :: _) -> _rhs c) a undefined))))
91 91
92'Signed :: Type -> Type 92'Signed :: Type -> Constraint
93'Signed 93'Signed
94 = \(a :: _) -> match'Int 94 = \(a :: _) -> match'Int
95 (\_ -> _) 95 (\_ -> _)
96 (_rhs 'Unit) 96 (_rhs 'CUnit)
97 a 97 a
98 (match'Float 98 (match'Float
99 (\_ -> _) 99 (\_ -> _)
100 (_rhs 'Unit) 100 (_rhs 'CUnit)
101 a 101 a
102 (_rhs ('Empty "no instance of 'Signed on ???"))) 102 (_rhs ('CEmpty "no instance of 'Signed on ???")))
103 103
104'Component :: Type -> Type 104'Component :: Type -> Constraint
105'Component 105'Component
106 = \(a :: _) -> match'Int 106 = \(a :: _) -> match'Int
107 (\_ -> _) 107 (\_ -> _)
108 (_rhs 'Unit) 108 (_rhs 'CUnit)
109 a 109 a
110 (match'Word 110 (match'Word
111 (\_ -> _) 111 (\_ -> _)
112 (_rhs 'Unit) 112 (_rhs 'CUnit)
113 a 113 a
114 (match'Float 114 (match'Float
115 (\_ -> _) 115 (\_ -> _)
116 (_rhs 'Unit) 116 (_rhs 'CUnit)
117 a 117 a
118 (match'VecS 118 (match'VecS
119 (\_ -> _) 119 (\_ -> _)
@@ -121,20 +121,20 @@ data Mat :: Nat -> Nat -> Type -> Type where
121 (\_ -> _) 121 (\_ -> _)
122 (case'Nat 122 (case'Nat
123 (\_ -> _) 123 (\_ -> _)
124 (_rhs ('Empty "no instance of 'Component on ???")) 124 (_rhs ('CEmpty "no instance of 'Component on ???"))
125 (\(d :: _) -> case'Nat 125 (\(d :: _) -> case'Nat
126 (\_ -> _) 126 (\_ -> _)
127 (_rhs ('Empty "no instance of 'Component on ???")) 127 (_rhs ('CEmpty "no instance of 'Component on ???"))
128 (\(e :: _) -> case'Nat 128 (\(e :: _) -> case'Nat
129 (\_ -> _) 129 (\_ -> _)
130 (_rhs 'Unit) 130 (_rhs 'CUnit)
131 (\(f :: _) -> case'Nat 131 (\(f :: _) -> case'Nat
132 (\_ -> _) 132 (\_ -> _)
133 (_rhs 'Unit) 133 (_rhs 'CUnit)
134 (\(g :: _) -> case'Nat 134 (\(g :: _) -> case'Nat
135 (\_ -> _) 135 (\_ -> _)
136 (_rhs 'Unit) 136 (_rhs 'CUnit)
137 (\_ -> _rhs ('Empty "no instance of 'Component on ???")) 137 (\_ -> _rhs ('CEmpty "no instance of 'Component on ???"))
138 g) 138 g)
139 f) 139 f)
140 e) 140 e)
@@ -145,35 +145,35 @@ data Mat :: Nat -> Nat -> Type -> Type where
145 (\_ -> _) 145 (\_ -> _)
146 (case'Nat 146 (case'Nat
147 (\_ -> _) 147 (\_ -> _)
148 (_rhs ('Empty "no instance of 'Component on ???")) 148 (_rhs ('CEmpty "no instance of 'Component on ???"))
149 (\(h :: _) -> case'Nat 149 (\(h :: _) -> case'Nat
150 (\_ -> _) 150 (\_ -> _)
151 (_rhs ('Empty "no instance of 'Component on ???")) 151 (_rhs ('CEmpty "no instance of 'Component on ???"))
152 (\(i :: _) -> case'Nat 152 (\(i :: _) -> case'Nat
153 (\_ -> _) 153 (\_ -> _)
154 (_rhs 'Unit) 154 (_rhs 'CUnit)
155 (\(j :: _) -> case'Nat 155 (\(j :: _) -> case'Nat
156 (\_ -> _) 156 (\_ -> _)
157 (_rhs 'Unit) 157 (_rhs 'CUnit)
158 (\(k :: _) -> case'Nat 158 (\(k :: _) -> case'Nat
159 (\_ -> _) 159 (\_ -> _)
160 (_rhs 'Unit) 160 (_rhs 'CUnit)
161 (\_ -> _rhs ('Empty "no instance of 'Component on ???")) 161 (\_ -> _rhs ('CEmpty "no instance of 'Component on ???"))
162 k) 162 k)
163 j) 163 j)
164 i) 164 i)
165 h) 165 h)
166 c) 166 c)
167 b 167 b
168 (_rhs ('Empty "no instance of 'Component on ???")))) 168 (_rhs ('CEmpty "no instance of 'Component on ???"))))
169 a 169 a
170 (match'Bool 170 (match'Bool
171 (\_ -> _) 171 (\_ -> _)
172 (_rhs 'Unit) 172 (_rhs 'CUnit)
173 a 173 a
174 (_rhs ('Empty "no instance of 'Component on ???")))))) 174 (_rhs ('CEmpty "no instance of 'Component on ???"))))))
175 175
176zero :: forall a . Component a => a 176zero :: forall a . CW (Component a) => a
177zero 177zero
178 = \ @a @_ -> match'Int 178 = \ @a @_ -> match'Int
179 (\_ -> _) 179 (\_ -> _)
@@ -241,7 +241,7 @@ zero
241 a 241 a
242 (match'Bool (\_ -> _) (_rhs let u = _rhs False in u) a (_rhs undefined))))) 242 (match'Bool (\_ -> _) (_rhs let u = _rhs False in u) a (_rhs undefined)))))
243 243
244one :: forall a . Component a => a 244one :: forall a . CW (Component a) => a
245one 245one
246 = \ @a @_ -> match'Int 246 = \ @a @_ -> match'Int
247 (\_ -> _) 247 (\_ -> _)
@@ -309,23 +309,23 @@ one
309 a 309 a
310 (match'Bool (\_ -> _) (_rhs let u = _rhs True in u) a (_rhs undefined))))) 310 (match'Bool (\_ -> _) (_rhs let u = _rhs True in u) a (_rhs undefined)))))
311 311
312'Integral :: Type -> Type 312'Integral :: Type -> Constraint
313'Integral 313'Integral
314 = \(a :: _) -> match'Int 314 = \(a :: _) -> match'Int
315 (\_ -> _) 315 (\_ -> _)
316 (_rhs 'Unit) 316 (_rhs 'CUnit)
317 a 317 a
318 (match'Word 318 (match'Word
319 (\_ -> _) 319 (\_ -> _)
320 (_rhs 'Unit) 320 (_rhs 'CUnit)
321 a 321 a
322 (_rhs ('Empty "no instance of 'Integral on ???"))) 322 (_rhs ('CEmpty "no instance of 'Integral on ???")))
323 323
324'Floating :: Type -> Type 324'Floating :: Type -> Constraint
325'Floating 325'Floating
326 = \(a :: _) -> match'Float 326 = \(a :: _) -> match'Float
327 (\_ -> _) 327 (\_ -> _)
328 (_rhs 'Unit) 328 (_rhs 'CUnit)
329 a 329 a
330 (match'VecS 330 (match'VecS
331 (\_ -> _) 331 (\_ -> _)
@@ -333,66 +333,66 @@ one
333 (\_ -> _) 333 (\_ -> _)
334 (case'Nat 334 (case'Nat
335 (\_ -> _) 335 (\_ -> _)
336 (_rhs ('Empty "no instance of 'Floating on ???")) 336 (_rhs ('CEmpty "no instance of 'Floating on ???"))
337 (\(d :: _) -> case'Nat 337 (\(d :: _) -> case'Nat
338 (\_ -> _) 338 (\_ -> _)
339 (_rhs ('Empty "no instance of 'Floating on ???")) 339 (_rhs ('CEmpty "no instance of 'Floating on ???"))
340 (\(e :: _) -> case'Nat 340 (\(e :: _) -> case'Nat
341 (\_ -> _) 341 (\_ -> _)
342 (_rhs 'Unit) 342 (_rhs 'CUnit)
343 (\(f :: _) -> case'Nat 343 (\(f :: _) -> case'Nat
344 (\_ -> _) 344 (\_ -> _)
345 (_rhs 'Unit) 345 (_rhs 'CUnit)
346 (\(g :: _) -> case'Nat 346 (\(g :: _) -> case'Nat
347 (\_ -> _) 347 (\_ -> _)
348 (_rhs 'Unit) 348 (_rhs 'CUnit)
349 (\_ -> _rhs ('Empty "no instance of 'Floating on ???")) 349 (\_ -> _rhs ('CEmpty "no instance of 'Floating on ???"))
350 g) 350 g)
351 f) 351 f)
352 e) 352 e)
353 d) 353 d)
354 c) 354 c)
355 b 355 b
356 (_rhs ('Empty "no instance of 'Floating on ???"))) 356 (_rhs ('CEmpty "no instance of 'Floating on ???")))
357 a 357 a
358 (match'Mat 358 (match'Mat
359 (\_ -> _) 359 (\_ -> _)
360 (\(h :: _) (i :: _) (j :: _) -> case'Nat 360 (\(h :: _) (i :: _) (j :: _) -> case'Nat
361 (\_ -> _) 361 (\_ -> _)
362 (_rhs ('Empty "no instance of 'Floating on ???")) 362 (_rhs ('CEmpty "no instance of 'Floating on ???"))
363 (\(k :: _) -> case'Nat 363 (\(k :: _) -> case'Nat
364 (\_ -> _) 364 (\_ -> _)
365 (_rhs ('Empty "no instance of 'Floating on ???")) 365 (_rhs ('CEmpty "no instance of 'Floating on ???"))
366 (\(l :: _) -> case'Nat 366 (\(l :: _) -> case'Nat
367 (\_ -> _) 367 (\_ -> _)
368 (case'Nat 368 (case'Nat
369 (\_ -> _) 369 (\_ -> _)
370 (_rhs ('Empty "no instance of 'Floating on ???")) 370 (_rhs ('CEmpty "no instance of 'Floating on ???"))
371 (\(m :: _) -> case'Nat 371 (\(m :: _) -> case'Nat
372 (\_ -> _) 372 (\_ -> _)
373 (_rhs ('Empty "no instance of 'Floating on ???")) 373 (_rhs ('CEmpty "no instance of 'Floating on ???"))
374 (\(n :: _) -> case'Nat 374 (\(n :: _) -> case'Nat
375 (\_ -> _) 375 (\_ -> _)
376 (match'Float 376 (match'Float
377 (\_ -> _) 377 (\_ -> _)
378 (_rhs 'Unit) 378 (_rhs 'CUnit)
379 j 379 j
380 (_rhs ('Empty "no instance of 'Floating on ???"))) 380 (_rhs ('CEmpty "no instance of 'Floating on ???")))
381 (\(o :: _) -> case'Nat 381 (\(o :: _) -> case'Nat
382 (\_ -> _) 382 (\_ -> _)
383 (match'Float 383 (match'Float
384 (\_ -> _) 384 (\_ -> _)
385 (_rhs 'Unit) 385 (_rhs 'CUnit)
386 j 386 j
387 (_rhs ('Empty "no instance of 'Floating on ???"))) 387 (_rhs ('CEmpty "no instance of 'Floating on ???")))
388 (\(p :: _) -> case'Nat 388 (\(p :: _) -> case'Nat
389 (\_ -> _) 389 (\_ -> _)
390 (match'Float 390 (match'Float
391 (\_ -> _) 391 (\_ -> _)
392 (_rhs 'Unit) 392 (_rhs 'CUnit)
393 j 393 j
394 (_rhs ('Empty "no instance of 'Floating on ???"))) 394 (_rhs ('CEmpty "no instance of 'Floating on ???")))
395 (\_ -> _rhs ('Empty "no instance of 'Floating on ???")) 395 (\_ -> _rhs ('CEmpty "no instance of 'Floating on ???"))
396 p) 396 p)
397 o) 397 o)
398 n) 398 n)
@@ -402,32 +402,32 @@ one
402 (\_ -> _) 402 (\_ -> _)
403 (case'Nat 403 (case'Nat
404 (\_ -> _) 404 (\_ -> _)
405 (_rhs ('Empty "no instance of 'Floating on ???")) 405 (_rhs ('CEmpty "no instance of 'Floating on ???"))
406 (\(r :: _) -> case'Nat 406 (\(r :: _) -> case'Nat
407 (\_ -> _) 407 (\_ -> _)
408 (_rhs ('Empty "no instance of 'Floating on ???")) 408 (_rhs ('CEmpty "no instance of 'Floating on ???"))
409 (\(s :: _) -> case'Nat 409 (\(s :: _) -> case'Nat
410 (\_ -> _) 410 (\_ -> _)
411 (match'Float 411 (match'Float
412 (\_ -> _) 412 (\_ -> _)
413 (_rhs 'Unit) 413 (_rhs 'CUnit)
414 j 414 j
415 (_rhs ('Empty "no instance of 'Floating on ???"))) 415 (_rhs ('CEmpty "no instance of 'Floating on ???")))
416 (\(t :: _) -> case'Nat 416 (\(t :: _) -> case'Nat
417 (\_ -> _) 417 (\_ -> _)
418 (match'Float 418 (match'Float
419 (\_ -> _) 419 (\_ -> _)
420 (_rhs 'Unit) 420 (_rhs 'CUnit)
421 j 421 j
422 (_rhs ('Empty "no instance of 'Floating on ???"))) 422 (_rhs ('CEmpty "no instance of 'Floating on ???")))
423 (\(u :: _) -> case'Nat 423 (\(u :: _) -> case'Nat
424 (\_ -> _) 424 (\_ -> _)
425 (match'Float 425 (match'Float
426 (\_ -> _) 426 (\_ -> _)
427 (_rhs 'Unit) 427 (_rhs 'CUnit)
428 j 428 j
429 (_rhs ('Empty "no instance of 'Floating on ???"))) 429 (_rhs ('CEmpty "no instance of 'Floating on ???")))
430 (\_ -> _rhs ('Empty "no instance of 'Floating on ???")) 430 (\_ -> _rhs ('CEmpty "no instance of 'Floating on ???"))
431 u) 431 u)
432 t) 432 t)
433 s) 433 s)
@@ -437,117 +437,127 @@ one
437 (\_ -> _) 437 (\_ -> _)
438 (case'Nat 438 (case'Nat
439 (\_ -> _) 439 (\_ -> _)
440 (_rhs ('Empty "no instance of 'Floating on ???")) 440 (_rhs ('CEmpty "no instance of 'Floating on ???"))
441 (\(w :: _) -> case'Nat 441 (\(w :: _) -> case'Nat
442 (\_ -> _) 442 (\_ -> _)
443 (_rhs ('Empty "no instance of 'Floating on ???")) 443 (_rhs ('CEmpty "no instance of 'Floating on ???"))
444 (\(x :: _) -> case'Nat 444 (\(x :: _) -> case'Nat
445 (\_ -> _) 445 (\_ -> _)
446 (match'Float 446 (match'Float
447 (\_ -> _) 447 (\_ -> _)
448 (_rhs 'Unit) 448 (_rhs 'CUnit)
449 j 449 j
450 (_rhs ('Empty "no instance of 'Floating on ???"))) 450 (_rhs ('CEmpty "no instance of 'Floating on ???")))
451 (\(y :: _) -> case'Nat 451 (\(y :: _) -> case'Nat
452 (\_ -> _) 452 (\_ -> _)
453 (match'Float 453 (match'Float
454 (\_ -> _) 454 (\_ -> _)
455 (_rhs 'Unit) 455 (_rhs 'CUnit)
456 j 456 j
457 (_rhs ('Empty "no instance of 'Floating on ???"))) 457 (_rhs ('CEmpty "no instance of 'Floating on ???")))
458 (\(z :: _) -> case'Nat 458 (\(z :: _) -> case'Nat
459 (\_ -> _) 459 (\_ -> _)
460 (match'Float 460 (match'Float
461 (\_ -> _) 461 (\_ -> _)
462 (_rhs 'Unit) 462 (_rhs 'CUnit)
463 j 463 j
464 (_rhs ('Empty "no instance of 'Floating on ???"))) 464 (_rhs ('CEmpty "no instance of 'Floating on ???")))
465 (\_ -> _rhs ('Empty "no instance of 'Floating on ???")) 465 (\_ -> _rhs ('CEmpty "no instance of 'Floating on ???"))
466 z) 466 z)
467 y) 467 y)
468 x) 468 x)
469 w) 469 w)
470 i) 470 i)
471 (\_ -> _rhs ('Empty "no instance of 'Floating on ???")) 471 (\_ -> _rhs ('CEmpty "no instance of 'Floating on ???"))
472 v) 472 v)
473 q) 473 q)
474 l) 474 l)
475 k) 475 k)
476 h) 476 h)
477 a 477 a
478 (_rhs ('Empty "no instance of 'Floating on ???")))) 478 (_rhs ('CEmpty "no instance of 'Floating on ???"))))
479 479
480PrimAdd :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a 480PrimAdd :: forall (a :: _) . CW (Num (MatVecScalarElem a)) => a -> a -> a
481 481
482PrimSub :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a 482PrimSub :: forall (a :: _) . CW (Num (MatVecScalarElem a)) => a -> a -> a
483 483
484PrimMul :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a 484PrimMul :: forall (a :: _) . CW (Num (MatVecScalarElem a)) => a -> a -> a
485 485
486PrimAddS 486PrimAddS
487 :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b 487 :: forall (a :: _) (b :: _)
488 . (CW (a ~ MatVecScalarElem b), CW (Num a)) => b -> a -> b
488 489
489PrimSubS 490PrimSubS
490 :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b 491 :: forall (a :: _) (b :: _)
492 . (CW (a ~ MatVecScalarElem b), CW (Num a)) => b -> a -> b
491 493
492PrimMulS 494PrimMulS
493 :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b 495 :: forall (a :: _) (b :: _)
496 . (CW (a ~ MatVecScalarElem b), CW (Num a)) => b -> a -> b
494 497
495PrimDiv 498PrimDiv
496 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b 499 :: forall (a :: _) (b :: _) (c :: _)
500 . (CW (Num a), CW (b ~ VecScalar c a)) => b -> b -> b
497 501
498PrimMod 502PrimMod
499 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b 503 :: forall (a :: _) (b :: _) (c :: _)
504 . (CW (Num a), CW (b ~ VecScalar c a)) => b -> b -> b
500 505
501PrimDivS 506PrimDivS
502 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b 507 :: forall (a :: _) (b :: _) (c :: _)
508 . (CW (Num a), CW (b ~ VecScalar c a)) => b -> a -> b
503 509
504PrimModS 510PrimModS
505 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b 511 :: forall (a :: _) (b :: _) (c :: _)
512 . (CW (Num a), CW (b ~ VecScalar c a)) => b -> a -> b
506 513
507PrimNeg :: forall (a :: _) . Signed (MatVecScalarElem a) => a -> a 514PrimNeg :: forall (a :: _) . CW (Signed (MatVecScalarElem a)) => a -> a
508 515
509PrimBAnd 516PrimBAnd
510 :: forall (a :: _) (b :: _) (c :: _) 517 :: forall (a :: _) (b :: _) (c :: _)
511 . (Integral a, b ~ VecScalar c a) => b -> b -> b 518 . (CW (Integral a), CW (b ~ VecScalar c a)) => b -> b -> b
512 519
513PrimBOr 520PrimBOr
514 :: forall (a :: _) (b :: _) (c :: _) 521 :: forall (a :: _) (b :: _) (c :: _)
515 . (Integral a, b ~ VecScalar c a) => b -> b -> b 522 . (CW (Integral a), CW (b ~ VecScalar c a)) => b -> b -> b
516 523
517PrimBXor 524PrimBXor
518 :: forall (a :: _) (b :: _) (c :: _) 525 :: forall (a :: _) (b :: _) (c :: _)
519 . (Integral a, b ~ VecScalar c a) => b -> b -> b 526 . (CW (Integral a), CW (b ~ VecScalar c a)) => b -> b -> b
520 527
521PrimBAndS 528PrimBAndS
522 :: forall (a :: _) (b :: _) (c :: _) 529 :: forall (a :: _) (b :: _) (c :: _)
523 . (Integral a, b ~ VecScalar c a) => b -> a -> b 530 . (CW (Integral a), CW (b ~ VecScalar c a)) => b -> a -> b
524 531
525PrimBOrS 532PrimBOrS
526 :: forall (a :: _) (b :: _) (c :: _) 533 :: forall (a :: _) (b :: _) (c :: _)
527 . (Integral a, b ~ VecScalar c a) => b -> a -> b 534 . (CW (Integral a), CW (b ~ VecScalar c a)) => b -> a -> b
528 535
529PrimBXorS 536PrimBXorS
530 :: forall (a :: _) (b :: _) (c :: _) 537 :: forall (a :: _) (b :: _) (c :: _)
531 . (Integral a, b ~ VecScalar c a) => b -> a -> b 538 . (CW (Integral a), CW (b ~ VecScalar c a)) => b -> a -> b
532 539
533PrimBNot 540PrimBNot
534 :: forall (a :: _) (b :: _) (c :: _) . (Integral a, b ~ VecScalar c a) => b -> b 541 :: forall (a :: _) (b :: _) (c :: _)
542 . (CW (Integral a), CW (b ~ VecScalar c a)) => b -> b
535 543
536PrimBShiftL 544PrimBShiftL
537 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 545 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
538 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b 546 . (CW (Integral a), CW (b ~ VecScalar c a), CW (d ~ VecScalar c Word))
547 => b -> d -> b
539 548
540PrimBShiftR 549PrimBShiftR
541 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 550 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
542 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b 551 . (CW (Integral a), CW (b ~ VecScalar c a), CW (d ~ VecScalar c Word))
552 => b -> d -> b
543 553
544PrimBShiftLS 554PrimBShiftLS
545 :: forall (a :: _) (b :: _) (c :: _) 555 :: forall (a :: _) (b :: _) (c :: _)
546 . (Integral a, b ~ VecScalar c a) => b -> Word -> b 556 . (CW (Integral a), CW (b ~ VecScalar c a)) => b -> Word -> b
547 557
548PrimBShiftRS 558PrimBShiftRS
549 :: forall (a :: _) (b :: _) (c :: _) 559 :: forall (a :: _) (b :: _) (c :: _)
550 . (Integral a, b ~ VecScalar c a) => b -> Word -> b 560 . (CW (Integral a), CW (b ~ VecScalar c a)) => b -> Word -> b
551 561
552PrimAnd :: Bool -> Bool -> Bool 562PrimAnd :: Bool -> Bool -> Bool
553 563
@@ -555,127 +565,134 @@ PrimOr :: Bool -> Bool -> Bool
555 565
556PrimXor :: Bool -> Bool -> Bool 566PrimXor :: Bool -> Bool -> Bool
557 567
558PrimNot :: forall (a :: _) (b :: _) . (a ~ VecScalar b Bool) => a -> a 568PrimNot :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Bool) => a -> a
559 569
560PrimAny :: forall (a :: _) . VecScalar a Bool -> Bool 570PrimAny :: forall (a :: _) . VecScalar a Bool -> Bool
561 571
562PrimAll :: forall (a :: _) . VecScalar a Bool -> Bool 572PrimAll :: forall (a :: _) . VecScalar a Bool -> Bool
563 573
564PrimACos :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 574PrimACos :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
565 575
566PrimACosH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 576PrimACosH :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
567 577
568PrimASin :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 578PrimASin :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
569 579
570PrimASinH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 580PrimASinH :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
571 581
572PrimATan :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 582PrimATan :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
573 583
574PrimATanH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 584PrimATanH :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
575 585
576PrimCos :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 586PrimCos :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
577 587
578PrimCosH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 588PrimCosH :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
579 589
580PrimDegrees :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 590PrimDegrees :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
581 591
582PrimRadians :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 592PrimRadians :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
583 593
584PrimSin :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 594PrimSin :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
585 595
586PrimSinH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 596PrimSinH :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
587 597
588PrimTan :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 598PrimTan :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
589 599
590PrimTanH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 600PrimTanH :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
591 601
592PrimExp :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 602PrimExp :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
593 603
594PrimLog :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 604PrimLog :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
595 605
596PrimExp2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 606PrimExp2 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
597 607
598PrimLog2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 608PrimLog2 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
599 609
600PrimSqrt :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 610PrimSqrt :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
601 611
602PrimInvSqrt :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 612PrimInvSqrt :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
603 613
604PrimPow :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a 614PrimPow :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a -> a
605 615
606PrimATan2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a 616PrimATan2
617 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a -> a
607 618
608PrimFloor :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 619PrimFloor :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
609 620
610PrimTrunc :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 621PrimTrunc :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
611 622
612PrimRound :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 623PrimRound :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
613 624
614PrimRoundEven :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 625PrimRoundEven :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
615 626
616PrimCeil :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 627PrimCeil :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
617 628
618PrimFract :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 629PrimFract :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
619 630
620PrimMin 631PrimMin
621 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b 632 :: forall (a :: _) (b :: _) (c :: _)
633 . (CW (Num a), CW (b ~ VecScalar c a)) => b -> b -> b
622 634
623PrimMax 635PrimMax
624 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b 636 :: forall (a :: _) (b :: _) (c :: _)
637 . (CW (Num a), CW (b ~ VecScalar c a)) => b -> b -> b
625 638
626PrimMinS 639PrimMinS
627 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b 640 :: forall (a :: _) (b :: _) (c :: _)
641 . (CW (Num a), CW (b ~ VecScalar c a)) => b -> a -> b
628 642
629PrimMaxS 643PrimMaxS
630 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b 644 :: forall (a :: _) (b :: _) (c :: _)
645 . (CW (Num a), CW (b ~ VecScalar c a)) => b -> a -> b
631 646
632PrimIsNan 647PrimIsNan
633 :: forall (a :: _) (b :: _) (c :: _) 648 :: forall (a :: _) (b :: _) (c :: _)
634 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c 649 . (CW (a ~ VecScalar b Float), CW (c ~ VecScalar b Bool)) => a -> c
635 650
636PrimIsInf 651PrimIsInf
637 :: forall (a :: _) (b :: _) (c :: _) 652 :: forall (a :: _) (b :: _) (c :: _)
638 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c 653 . (CW (a ~ VecScalar b Float), CW (c ~ VecScalar b Bool)) => a -> c
639 654
640PrimAbs 655PrimAbs
641 :: forall (a :: _) (b :: _) (c :: _) . (Signed a, b ~ VecScalar c a) => b -> b 656 :: forall (a :: _) (b :: _) (c :: _)
657 . (CW (Signed a), CW (b ~ VecScalar c a)) => b -> b
642 658
643PrimSign 659PrimSign
644 :: forall (a :: _) (b :: _) (c :: _) . (Signed a, b ~ VecScalar c a) => b -> b 660 :: forall (a :: _) (b :: _) (c :: _)
661 . (CW (Signed a), CW (b ~ VecScalar c a)) => b -> b
645 662
646PrimModF 663PrimModF
647 :: forall (a :: _) (b :: _) 664 :: forall (a :: _) (b :: _)
648 . (a ~ VecScalar b Float) => a -> HList (a : a : '[]) 665 . CW (a ~ VecScalar b Float) => a -> HList (a : a : '[])
649 666
650PrimClamp 667PrimClamp
651 :: forall (a :: _) (b :: _) (c :: _) 668 :: forall (a :: _) (b :: _) (c :: _)
652 . (Num a, b ~ VecScalar c a) => b -> b -> b -> b 669 . (CW (Num a), CW (b ~ VecScalar c a)) => b -> b -> b -> b
653 670
654PrimClampS 671PrimClampS
655 :: forall (a :: _) (b :: _) (c :: _) 672 :: forall (a :: _) (b :: _) (c :: _)
656 . (Num a, b ~ VecScalar c a) => b -> a -> a -> b 673 . (CW (Num a), CW (b ~ VecScalar c a)) => b -> a -> a -> b
657 674
658PrimMix 675PrimMix
659 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a 676 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a -> a -> a
660 677
661PrimMixS 678PrimMixS
662 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float -> a 679 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a -> Float -> a
663 680
664PrimMixB 681PrimMixB
665 :: forall (a :: _) (b :: _) (c :: _) 682 :: forall (a :: _) (b :: _) (c :: _)
666 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a 683 . (CW (a ~ VecScalar b Float), CW (c ~ VecScalar b Bool)) => a -> a -> c -> a
667 684
668PrimStep :: forall (a :: _) (b :: _) . (a ~ Vec b Float) => a -> a -> a 685PrimStep :: forall (a :: _) (b :: _) . CW (a ~ Vec b Float) => a -> a -> a
669 686
670PrimStepS 687PrimStepS
671 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => Float -> a -> a 688 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => Float -> a -> a
672 689
673PrimSmoothStep 690PrimSmoothStep
674 :: forall (a :: _) (b :: _) . (a ~ Vec b Float) => a -> a -> a -> a 691 :: forall (a :: _) (b :: _) . CW (a ~ Vec b Float) => a -> a -> a -> a
675 692
676PrimSmoothStepS 693PrimSmoothStepS
677 :: forall (a :: _) (b :: _) 694 :: forall (a :: _) (b :: _)
678 . (a ~ VecScalar b Float) => Float -> Float -> a -> a 695 . CW (a ~ VecScalar b Float) => Float -> Float -> a -> a
679 696
680PrimFloatBitsToInt :: forall (a :: _) . VecScalar a Float -> VecScalar a Int 697PrimFloatBitsToInt :: forall (a :: _) . VecScalar a Float -> VecScalar a Int
681 698
@@ -685,24 +702,28 @@ PrimIntBitsToFloat :: forall (a :: _) . VecScalar a Int -> VecScalar a Float
685 702
686PrimUIntBitsToFloat :: forall (a :: _) . VecScalar a Word -> VecScalar a Float 703PrimUIntBitsToFloat :: forall (a :: _) . VecScalar a Word -> VecScalar a Float
687 704
688PrimLength :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> Float 705PrimLength
706 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> Float
689 707
690PrimDistance 708PrimDistance
691 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float 709 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a -> Float
692 710
693PrimDot :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float 711PrimDot
712 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a -> Float
694 713
695PrimCross :: forall (a :: _) . (a ~ VecScalar (fromInt 3) Float) => a -> a -> a 714PrimCross
715 :: forall (a :: _) . CW (a ~ VecScalar (fromInt 3) Float) => a -> a -> a
696 716
697PrimNormalize :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 717PrimNormalize :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
698 718
699PrimFaceForward 719PrimFaceForward
700 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a 720 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a -> a -> a
701 721
702PrimRefract 722PrimRefract
703 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a 723 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a -> a -> a
704 724
705PrimReflect :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a 725PrimReflect
726 :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a -> a
706 727
707PrimTranspose :: forall (a :: _) (b :: _) (c :: _) . Mat a b c -> Mat b a c 728PrimTranspose :: forall (a :: _) (b :: _) (c :: _) . Mat a b c -> Mat b a c
708 729
@@ -725,39 +746,39 @@ PrimMulMatMat
725 746
726PrimLessThan 747PrimLessThan
727 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 748 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
728 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 749 . (CW (Num c), CW (a ~ VecScalar b c), CW (d ~ VecScalar b Bool)) => a -> a -> d
729 750
730PrimLessThanEqual 751PrimLessThanEqual
731 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 752 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
732 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 753 . (CW (Num c), CW (a ~ VecScalar b c), CW (d ~ VecScalar b Bool)) => a -> a -> d
733 754
734PrimGreaterThan 755PrimGreaterThan
735 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 756 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
736 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 757 . (CW (Num c), CW (a ~ VecScalar b c), CW (d ~ VecScalar b Bool)) => a -> a -> d
737 758
738PrimGreaterThanEqual 759PrimGreaterThanEqual
739 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 760 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
740 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 761 . (CW (Num c), CW (a ~ VecScalar b c), CW (d ~ VecScalar b Bool)) => a -> a -> d
741 762
742PrimEqualV 763PrimEqualV
743 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 764 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
744 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 765 . (CW (Num c), CW (a ~ VecScalar b c), CW (d ~ VecScalar b Bool)) => a -> a -> d
745 766
746PrimNotEqualV 767PrimNotEqualV
747 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 768 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
748 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 769 . (CW (Num c), CW (a ~ VecScalar b c), CW (d ~ VecScalar b Bool)) => a -> a -> d
749 770
750PrimEqual 771PrimEqual
751 :: forall (a :: _) (b :: _) . (b ~ MatVecScalarElem a) => a -> a -> Bool 772 :: forall (a :: _) (b :: _) . CW (b ~ MatVecScalarElem a) => a -> a -> Bool
752 773
753PrimNotEqual 774PrimNotEqual
754 :: forall (a :: _) (b :: _) . (b ~ MatVecScalarElem a) => a -> a -> Bool 775 :: forall (a :: _) (b :: _) . CW (b ~ MatVecScalarElem a) => a -> a -> Bool
755 776
756PrimDFdx :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 777PrimDFdx :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
757 778
758PrimDFdy :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 779PrimDFdy :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
759 780
760PrimFWidth :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 781PrimFWidth :: forall (a :: _) (b :: _) . CW (a ~ VecScalar b Float) => a -> a
761 782
762PrimNoise1 :: forall (a :: _) . VecScalar a Float -> Float 783PrimNoise1 :: forall (a :: _) . VecScalar a Float -> Float
763 784
@@ -838,7 +859,7 @@ mapPrimitives = \(a :: _) -> _rhs (map (mapPrimitive a))
838 859
839fetchArrays 860fetchArrays
840 :: forall (a :: _) (b :: _) (c :: _) 861 :: forall (a :: _) (b :: _) (c :: _)
841 . (b ~ map ListElem c) => HList c -> PrimitiveStream a (HList b) 862 . CW (b ~ map ListElem c) => HList c -> PrimitiveStream a (HList b)
842 863
843fetch 864fetch
844 :: forall (a :: _) (b :: _) . String -> HList b -> PrimitiveStream a (HList b) 865 :: forall (a :: _) (b :: _) . String -> HList b -> PrimitiveStream a (HList b)
@@ -848,7 +869,7 @@ Attribute :: forall (a :: _) . String -> a
848fetchStream 869fetchStream
849 :: forall (a :: _) (b :: [Type]) 870 :: forall (a :: _) (b :: [Type])
850 . String 871 . String
851 -> forall (c :: [String]) -> (len c ~ len b) => PrimitiveStream a (HList b) 872 -> forall (c :: [String]) -> CW (len c ~ len b) => PrimitiveStream a (HList b)
852 873
853data SimpleFragment (_ :: Type) :: Type where 874data SimpleFragment (_ :: Type) :: Type where
854 SimpleFragment :: forall a . Vec (fromInt 3) Float -> a -> SimpleFragment a 875 SimpleFragment :: forall a . Vec (fromInt 3) Float -> a -> SimpleFragment a
@@ -906,7 +927,7 @@ data Image (_ :: Nat) (_ :: ImageKind) :: Type where
906 927
907ColorImage 928ColorImage
908 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 929 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
909 . (Num c, d ~ VecScalar b c) => d -> Image a (Color d) 930 . (CW (Num c), CW (d ~ VecScalar b c)) => d -> Image a (Color d)
910 931
911DepthImage :: forall (a :: _) . Float -> Image a Depth 932DepthImage :: forall (a :: _) . Float -> Image a Depth
912 933
@@ -1071,7 +1092,8 @@ data RasterContext (_ :: Type) :: PrimitiveType -> Type where
1071 1092
1072data Blending :: Type -> Type where 1093data Blending :: Type -> Type where
1073 NoBlending :: forall (a :: _) . Blending a 1094 NoBlending :: forall (a :: _) . Blending a
1074 BlendLogicOp :: forall (b :: _) . Integral b => LogicOperation -> Blending b 1095 BlendLogicOp
1096 :: forall (b :: _) . CW (Integral b) => LogicOperation -> Blending b
1075 Blend 1097 Blend
1076 :: HList (BlendEquation : BlendEquation : '[]) 1098 :: HList (BlendEquation : BlendEquation : '[])
1077 -> HList 1099 -> HList
@@ -1088,20 +1110,20 @@ data StencilOps :: Type where
1088data FragmentOperation :: ImageKind -> Type where 1110data FragmentOperation :: ImageKind -> Type where
1089 ColorOp 1111 ColorOp
1090 :: forall (a :: _) (b :: _) 1112 :: forall (a :: _) (b :: _)
1091 . Num a 1113 . CW (Num a)
1092 => Blending a -> VecScalar b Bool -> FragmentOperation (Color (VecScalar b a)) 1114 => Blending a -> VecScalar b Bool -> FragmentOperation (Color (VecScalar b a))
1093 DepthOp :: ComparisonFunction -> Bool -> FragmentOperation Depth 1115 DepthOp :: ComparisonFunction -> Bool -> FragmentOperation Depth
1094 StencilOp 1116 StencilOp
1095 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation Stencil 1117 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation Stencil
1096 1118
1097data Interpolated (_ :: Type) :: Type where 1119data Interpolated (_ :: Type) :: Type where
1098 Smooth :: forall a . Floating a => Interpolated a 1120 Smooth :: forall a . CW (Floating a) => Interpolated a
1099 NoPerspective :: forall b . Floating b => Interpolated b 1121 NoPerspective :: forall b . CW (Floating b) => Interpolated b
1100 Flat :: forall c . Interpolated c 1122 Flat :: forall c . Interpolated c
1101 1123
1102rasterizePrimitive 1124rasterizePrimitive
1103 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 1125 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
1104 . (map Interpolated a ~ b, c ~ Vec (fromInt 4) Float : a) 1126 . (CW (map Interpolated a ~ b), CW (c ~ Vec (fromInt 4) Float : a))
1105 => HList b 1127 => HList b
1106 -> RasterContext (HList c) d 1128 -> RasterContext (HList c) d
1107 -> Primitive (HList c) d -> FragmentStream (fromInt 1) (HList a) 1129 -> Primitive (HList c) d -> FragmentStream (fromInt 1) (HList a)
@@ -1113,14 +1135,14 @@ rasterizePrimitives
1113'ImageLC 1135'ImageLC
1114 = \(a :: _) -> match'Image (\_ -> _) (\(b :: _) _ -> _rhs b) a undefined 1136 = \(a :: _) -> match'Image (\_ -> _) (\(b :: _) _ -> _rhs b) a undefined
1115 1137
1116allSame :: forall (a :: _) . [a] -> Type 1138allSame :: forall (a :: _) . [a] -> Constraint
1117allSame 1139allSame
1118 = \(a :: _) -> case'List 1140 = \(a :: _) -> case'List
1119 (\_ -> _) 1141 (\_ -> _)
1120 (_rhs 'Unit) 1142 (_rhs 'CUnit)
1121 (\(b :: _) (c :: _) -> case'List 1143 (\(b :: _) (c :: _) -> case'List
1122 (\_ -> _) 1144 (\_ -> _)
1123 (_rhs 'Unit) 1145 (_rhs 'CUnit)
1124 (\(d :: _) (e :: _) -> _rhs ('T2 (b `'EqCTt` d) (allSame (d : e)))) 1146 (\(d :: _) (e :: _) -> _rhs ('T2 (b `'EqCTt` d) (allSame (d : e))))
1125 c) 1147 c)
1126 a 1148 a
@@ -1153,7 +1175,7 @@ imageType'
1153 1175
1154Accumulate 1176Accumulate
1155 :: forall (a :: _) (b :: Nat) (c :: [Type]) 1177 :: forall (a :: _) (b :: Nat) (c :: [Type])
1156 . (a ~ map FragmentOperationKind c) 1178 . CW (a ~ map FragmentOperationKind c)
1157 => HList c 1179 => HList c
1158 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a 1180 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a
1159 1181
@@ -1176,7 +1198,7 @@ infixl 0 overlay
1176 1198
1177FrameBuffer 1199FrameBuffer
1178 :: forall (a :: [Type]) 1200 :: forall (a :: [Type])
1179 . sameLayerCounts a 1201 . CW (sameLayerCounts a)
1180 => HList a -> FrameBuffer (ImageLC (head a)) (map GetImageKind a) 1202 => HList a -> FrameBuffer (ImageLC (head a)) (map GetImageKind a)
1181 1203
1182imageFrame = _rhs FrameBuffer 1204imageFrame = _rhs FrameBuffer
@@ -1276,12 +1298,12 @@ match'Mat
1276 :: forall (a :: Type -> Type) 1298 :: forall (a :: Type -> Type)
1277 -> (forall (b :: Nat) (c :: Nat) d -> a (Mat b c d)) -> forall e -> a e -> a e 1299 -> (forall (b :: Nat) (c :: Nat) d -> a (Mat b c d)) -> forall e -> a e -> a e
1278'MatVecScalarElem :: Type -> Type 1300'MatVecScalarElem :: Type -> Type
1279'Signed :: Type -> Type 1301'Signed :: Type -> Constraint
1280'Component :: Type -> Type 1302'Component :: Type -> Constraint
1281zero :: forall a . Component a => a 1303zero :: forall a . Component a => a
1282one :: forall a . Component a => a 1304one :: forall a . Component a => a
1283'Integral :: Type -> Type 1305'Integral :: Type -> Constraint
1284'Floating :: Type -> Type 1306'Floating :: Type -> Constraint
1285PrimAdd :: forall a . Num (MatVecScalarElem a) => a -> a -> a 1307PrimAdd :: forall a . Num (MatVecScalarElem a) => a -> a -> a
1286PrimSub :: forall a . Num (MatVecScalarElem a) => a -> a -> a 1308PrimSub :: forall a . Num (MatVecScalarElem a) => a -> a -> a
1287PrimMul :: forall a . Num (MatVecScalarElem a) => a -> a -> a 1309PrimMul :: forall a . Num (MatVecScalarElem a) => a -> a -> a
@@ -1801,7 +1823,7 @@ Blend
1801case'Blending 1823case'Blending
1802 :: forall (a :: forall b -> Blending b -> Type) 1824 :: forall (a :: forall b -> Blending b -> Type)
1803 -> (forall c . a c ('NoBlending c)) 1825 -> (forall c . a c ('NoBlending c))
1804 -> (forall d (e :: Integral d) 1826 -> (forall d (e :: CW (Integral d))
1805 . forall (f :: LogicOperation) -> a d ('BlendLogicOp d e f)) 1827 . forall (f :: LogicOperation) -> a d ('BlendLogicOp d e f))
1806 -> (forall (g :: (BlendEquation, BlendEquation)) 1828 -> (forall (g :: (BlendEquation, BlendEquation))
1807 (h :: ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor))) 1829 (h :: ((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor)))
@@ -1830,7 +1852,7 @@ StencilOp
1830 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation 'Stencil 1852 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation 'Stencil
1831case'FragmentOperation 1853case'FragmentOperation
1832 :: forall (a :: forall (b :: ImageKind) -> FragmentOperation b -> Type) 1854 :: forall (a :: forall (b :: ImageKind) -> FragmentOperation b -> Type)
1833 -> (forall c (d :: Nat) (e :: Num c) 1855 -> (forall c (d :: Nat) (e :: CW (Num c))
1834 . forall (f :: Blending c) (g :: VecScalar d Bool) 1856 . forall (f :: Blending c) (g :: VecScalar d Bool)
1835 -> a ('Color (VecScalar d c)) ('ColorOp c d e f g)) 1857 -> a ('Color (VecScalar d c)) ('ColorOp c d e f g))
1836 -> (forall (h :: ComparisonFunction) (i :: Bool) -> a 'Depth ('DepthOp h i)) 1858 -> (forall (h :: ComparisonFunction) (i :: Bool) -> a 'Depth ('DepthOp h i))
@@ -1848,8 +1870,8 @@ Flat :: forall a . Interpolated a
1848case'Interpolated 1870case'Interpolated
1849 :: forall a 1871 :: forall a
1850 . forall (b :: Interpolated a -> Type) 1872 . forall (b :: Interpolated a -> Type)
1851 -> (forall (c :: Floating a) . b ('Smooth c)) 1873 -> (forall (c :: CW (Floating a)) . b ('Smooth c))
1852 -> (forall (d :: Floating a) . b ('NoPerspective d)) 1874 -> (forall (d :: CW (Floating a)) . b ('NoPerspective d))
1853 -> b 'Flat -> forall (e :: Interpolated a) -> b e 1875 -> b 'Flat -> forall (e :: Interpolated a) -> b e
1854match'Interpolated 1876match'Interpolated
1855 :: forall (a :: Type -> Type) 1877 :: forall (a :: Type -> Type)
@@ -1868,8 +1890,8 @@ rasterizePrimitives
1868 -> [Primitive (HList (Vec 4 Float : a)) b] 1890 -> [Primitive (HList (Vec 4 Float : a)) b]
1869 -> [Vector 1 (Maybe (SimpleFragment (HList a)))] 1891 -> [Vector 1 (Maybe (SimpleFragment (HList a)))]
1870'ImageLC :: Type -> Nat 1892'ImageLC :: Type -> Nat
1871allSame :: forall a . [a] -> Type 1893allSame :: forall a . [a] -> Constraint
1872sameLayerCounts :: [Type] -> Type 1894sameLayerCounts :: [Type] -> Constraint
1873'FrameBuffer :: Nat -> [ImageKind] -> Type 1895'FrameBuffer :: Nat -> [ImageKind] -> Type
1874case'FrameBuffer 1896case'FrameBuffer
1875 :: forall (a :: Nat) (b :: [ImageKind]) 1897 :: forall (a :: Nat) (b :: [ImageKind])
@@ -2763,9 +2785,10 @@ testdata/Builtins.lc 47:35-48:37
2763testdata/Builtins.lc 48:36-48:37 2785testdata/Builtins.lc 48:36-48:37
2764 Type 2786 Type
2765testdata/Builtins.lc 52:7-52:13 2787testdata/Builtins.lc 52:7-52:13
2766 Type -> Type 2788 Type -> Constraint
2767testdata/Builtins.lc 57:7-57:16 2789testdata/Builtins.lc 57:7-57:16
2768 Type -> Type | Type -> Type | Type -> Type 2790 Type -> Constraint | Type -> Constraint | Constraint | Type
2791 -> Constraint | Constraint
2769testdata/Builtins.lc 57:7-58:12 2792testdata/Builtins.lc 57:7-58:12
2770 Type 2793 Type
2771testdata/Builtins.lc 57:7-59:11 2794testdata/Builtins.lc 57:7-59:11
@@ -3003,9 +3026,9 @@ testdata/Builtins.lc 90:22-90:26
3003testdata/Builtins.lc 90:27-90:31 3026testdata/Builtins.lc 90:27-90:31
3004 Bool 3027 Bool
3005testdata/Builtins.lc 92:7-92:15 3028testdata/Builtins.lc 92:7-92:15
3006 Type -> Type 3029 Type -> Constraint
3007testdata/Builtins.lc 97:7-97:15 3030testdata/Builtins.lc 97:7-97:15
3008 Type -> Type 3031 Type -> Constraint
3009testdata/Builtins.lc 118:1-118:8 3032testdata/Builtins.lc 118:1-118:8
3010 forall a . Num (MatVecScalarElem a) => a -> a -> a 3033 forall a . Num (MatVecScalarElem a) => a -> a -> a
3011testdata/Builtins.lc 118:10-118:17 3034testdata/Builtins.lc 118:10-118:17
@@ -3013,9 +3036,9 @@ testdata/Builtins.lc 118:10-118:17
3013testdata/Builtins.lc 118:19-118:26 3036testdata/Builtins.lc 118:19-118:26
3014 forall a . Num (MatVecScalarElem a) => a -> a -> a 3037 forall a . Num (MatVecScalarElem a) => a -> a -> a
3015testdata/Builtins.lc 118:34-118:37 3038testdata/Builtins.lc 118:34-118:37
3016 Type -> Type | Type -> Type | Type -> Type 3039 Type -> Constraint | Type -> Constraint | Type -> Constraint
3017testdata/Builtins.lc 118:34-118:58 3040testdata/Builtins.lc 118:34-118:58
3018 Type | Type | Type 3041 Constraint | Constraint | Constraint
3019testdata/Builtins.lc 118:34-118:73 3042testdata/Builtins.lc 118:34-118:73
3020 Type | Type | Type 3043 Type | Type | Type
3021testdata/Builtins.lc 118:39-118:55 3044testdata/Builtins.lc 118:39-118:55
@@ -3045,12 +3068,12 @@ testdata/Builtins.lc 119:34-119:80
3045testdata/Builtins.lc 119:35-119:36 3068testdata/Builtins.lc 119:35-119:36
3046 _e | _e | _e 3069 _e | _e | _e
3047testdata/Builtins.lc 119:35-119:38 3070testdata/Builtins.lc 119:35-119:38
3048 _d -> Type | _d -> Type | _d -> Type 3071 _d -> Constraint | _d -> Constraint | _d -> Constraint
3049testdata/Builtins.lc 119:35-119:57 3072testdata/Builtins.lc 119:35-119:57
3050 Type | Type | Type 3073 Constraint | Constraint | Constraint
3051testdata/Builtins.lc 119:37-119:38 3074testdata/Builtins.lc 119:37-119:38
3052 forall a . a -> a -> Type | forall a . a -> a -> Type | forall a 3075 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3053 . a -> a -> Type 3076 . a -> a -> Constraint
3054testdata/Builtins.lc 119:39-119:55 3077testdata/Builtins.lc 119:39-119:55
3055 Type -> Type | Type -> Type | Type -> Type 3078 Type -> Type | Type -> Type | Type -> Type
3056testdata/Builtins.lc 119:39-119:57 3079testdata/Builtins.lc 119:39-119:57
@@ -3058,9 +3081,9 @@ testdata/Builtins.lc 119:39-119:57
3058testdata/Builtins.lc 119:56-119:57 3081testdata/Builtins.lc 119:56-119:57
3059 _b | _b | _b 3082 _b | _b | _b
3060testdata/Builtins.lc 119:59-119:62 3083testdata/Builtins.lc 119:59-119:62
3061 Type -> Type | Type -> Type | Type -> Type 3084 Type -> Constraint | Type -> Constraint | Type -> Constraint
3062testdata/Builtins.lc 119:59-119:64 3085testdata/Builtins.lc 119:59-119:64
3063 Type | Type | Type 3086 Constraint | Constraint | Constraint
3064testdata/Builtins.lc 119:59-119:80 3087testdata/Builtins.lc 119:59-119:80
3065 Type | Type | Type 3088 Type | Type | Type
3066testdata/Builtins.lc 119:63-119:64 3089testdata/Builtins.lc 119:63-119:64
@@ -3082,21 +3105,21 @@ testdata/Builtins.lc 120:10-120:17
3082testdata/Builtins.lc 120:34-120:75 3105testdata/Builtins.lc 120:34-120:75
3083 Type | Type | Type | Type | Type | Type 3106 Type | Type | Type | Type | Type | Type
3084testdata/Builtins.lc 120:35-120:38 3107testdata/Builtins.lc 120:35-120:38
3085 Type -> Type | Type -> Type 3108 Type -> Constraint | Type -> Constraint
3086testdata/Builtins.lc 120:35-120:40 3109testdata/Builtins.lc 120:35-120:40
3087 Type | Type 3110 Constraint | Constraint
3088testdata/Builtins.lc 120:39-120:40 3111testdata/Builtins.lc 120:39-120:40
3089 _f | _f 3112 _f | _f
3090testdata/Builtins.lc 120:42-120:43 3113testdata/Builtins.lc 120:42-120:43
3091 _f | _f 3114 _f | _f
3092testdata/Builtins.lc 120:42-120:45 3115testdata/Builtins.lc 120:42-120:45
3093 _e -> Type | _e -> Type 3116 _e -> Constraint | _e -> Constraint
3094testdata/Builtins.lc 120:42-120:59 3117testdata/Builtins.lc 120:42-120:59
3095 Type | Type 3118 Constraint | Constraint
3096testdata/Builtins.lc 120:42-120:75 3119testdata/Builtins.lc 120:42-120:75
3097 Type | Type 3120 Type | Type
3098testdata/Builtins.lc 120:44-120:45 3121testdata/Builtins.lc 120:44-120:45
3099 forall a . a -> a -> Type | forall a . a -> a -> Type 3122 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3100testdata/Builtins.lc 120:46-120:55 3123testdata/Builtins.lc 120:46-120:55
3101 Nat -> Type -> Type | Nat -> Type -> Type 3124 Nat -> Type -> Type | Nat -> Type -> Type
3102testdata/Builtins.lc 120:46-120:57 3125testdata/Builtins.lc 120:46-120:57
@@ -3124,21 +3147,21 @@ testdata/Builtins.lc 121:11-121:19
3124testdata/Builtins.lc 121:34-121:75 3147testdata/Builtins.lc 121:34-121:75
3125 Type | Type | Type | Type | Type | Type 3148 Type | Type | Type | Type | Type | Type
3126testdata/Builtins.lc 121:35-121:38 3149testdata/Builtins.lc 121:35-121:38
3127 Type -> Type | Type -> Type 3150 Type -> Constraint | Type -> Constraint
3128testdata/Builtins.lc 121:35-121:40 3151testdata/Builtins.lc 121:35-121:40
3129 Type | Type 3152 Constraint | Constraint
3130testdata/Builtins.lc 121:39-121:40 3153testdata/Builtins.lc 121:39-121:40
3131 _f | _f 3154 _f | _f
3132testdata/Builtins.lc 121:42-121:43 3155testdata/Builtins.lc 121:42-121:43
3133 _f | _f 3156 _f | _f
3134testdata/Builtins.lc 121:42-121:45 3157testdata/Builtins.lc 121:42-121:45
3135 _e -> Type | _e -> Type 3158 _e -> Constraint | _e -> Constraint
3136testdata/Builtins.lc 121:42-121:59 3159testdata/Builtins.lc 121:42-121:59
3137 Type | Type 3160 Constraint | Constraint
3138testdata/Builtins.lc 121:42-121:75 3161testdata/Builtins.lc 121:42-121:75
3139 Type | Type 3162 Type | Type
3140testdata/Builtins.lc 121:44-121:45 3163testdata/Builtins.lc 121:44-121:45
3141 forall a . a -> a -> Type | forall a . a -> a -> Type 3164 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3142testdata/Builtins.lc 121:46-121:55 3165testdata/Builtins.lc 121:46-121:55
3143 Nat -> Type -> Type | Nat -> Type -> Type 3166 Nat -> Type -> Type | Nat -> Type -> Type
3144testdata/Builtins.lc 121:46-121:57 3167testdata/Builtins.lc 121:46-121:57
@@ -3162,9 +3185,9 @@ testdata/Builtins.lc 121:74-121:75
3162testdata/Builtins.lc 122:1-122:8 3185testdata/Builtins.lc 122:1-122:8
3163 forall a . Signed (MatVecScalarElem a) => a -> a 3186 forall a . Signed (MatVecScalarElem a) => a -> a
3164testdata/Builtins.lc 122:34-122:40 3187testdata/Builtins.lc 122:34-122:40
3165 Type -> Type 3188 Type -> Constraint
3166testdata/Builtins.lc 122:34-122:61 3189testdata/Builtins.lc 122:34-122:61
3167 Type 3190 Constraint
3168testdata/Builtins.lc 122:34-122:71 3191testdata/Builtins.lc 122:34-122:71
3169 Type 3192 Type
3170testdata/Builtins.lc 122:42-122:58 3193testdata/Builtins.lc 122:42-122:58
@@ -3188,22 +3211,22 @@ testdata/Builtins.lc 124:20-124:28
3188testdata/Builtins.lc 124:34-124:80 3211testdata/Builtins.lc 124:34-124:80
3189 Type | Type | Type | Type | Type | Type | Type | Type | Type 3212 Type | Type | Type | Type | Type | Type | Type | Type | Type
3190testdata/Builtins.lc 124:35-124:43 3213testdata/Builtins.lc 124:35-124:43
3191 Type -> Type | Type -> Type | Type -> Type 3214 Type -> Constraint | Type -> Constraint | Type -> Constraint
3192testdata/Builtins.lc 124:35-124:45 3215testdata/Builtins.lc 124:35-124:45
3193 Type | Type | Type 3216 Constraint | Constraint | Constraint
3194testdata/Builtins.lc 124:44-124:45 3217testdata/Builtins.lc 124:44-124:45
3195 _f | _f | _f 3218 _f | _f | _f
3196testdata/Builtins.lc 124:47-124:48 3219testdata/Builtins.lc 124:47-124:48
3197 _f | _f | _f 3220 _f | _f | _f
3198testdata/Builtins.lc 124:47-124:50 3221testdata/Builtins.lc 124:47-124:50
3199 _e -> Type | _e -> Type | _e -> Type 3222 _e -> Constraint | _e -> Constraint | _e -> Constraint
3200testdata/Builtins.lc 124:47-124:64 3223testdata/Builtins.lc 124:47-124:64
3201 Type | Type | Type 3224 Constraint | Constraint | Constraint
3202testdata/Builtins.lc 124:47-124:80 3225testdata/Builtins.lc 124:47-124:80
3203 Type | Type | Type 3226 Type | Type | Type
3204testdata/Builtins.lc 124:49-124:50 3227testdata/Builtins.lc 124:49-124:50
3205 forall a . a -> a -> Type | forall a . a -> a -> Type | forall a 3228 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3206 . a -> a -> Type 3229 . a -> a -> Constraint
3207testdata/Builtins.lc 124:51-124:60 3230testdata/Builtins.lc 124:51-124:60
3208 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type 3231 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type
3209testdata/Builtins.lc 124:51-124:62 3232testdata/Builtins.lc 124:51-124:62
@@ -3233,22 +3256,22 @@ testdata/Builtins.lc 125:22-125:31
3233testdata/Builtins.lc 125:34-125:80 3256testdata/Builtins.lc 125:34-125:80
3234 Type | Type | Type | Type | Type | Type | Type | Type | Type 3257 Type | Type | Type | Type | Type | Type | Type | Type | Type
3235testdata/Builtins.lc 125:35-125:43 3258testdata/Builtins.lc 125:35-125:43
3236 Type -> Type | Type -> Type | Type -> Type 3259 Type -> Constraint | Type -> Constraint | Type -> Constraint
3237testdata/Builtins.lc 125:35-125:45 3260testdata/Builtins.lc 125:35-125:45
3238 Type | Type | Type 3261 Constraint | Constraint | Constraint
3239testdata/Builtins.lc 125:44-125:45 3262testdata/Builtins.lc 125:44-125:45
3240 _f | _f | _f 3263 _f | _f | _f
3241testdata/Builtins.lc 125:47-125:48 3264testdata/Builtins.lc 125:47-125:48
3242 _f | _f | _f 3265 _f | _f | _f
3243testdata/Builtins.lc 125:47-125:50 3266testdata/Builtins.lc 125:47-125:50
3244 _e -> Type | _e -> Type | _e -> Type 3267 _e -> Constraint | _e -> Constraint | _e -> Constraint
3245testdata/Builtins.lc 125:47-125:64 3268testdata/Builtins.lc 125:47-125:64
3246 Type | Type | Type 3269 Constraint | Constraint | Constraint
3247testdata/Builtins.lc 125:47-125:80 3270testdata/Builtins.lc 125:47-125:80
3248 Type | Type | Type 3271 Type | Type | Type
3249testdata/Builtins.lc 125:49-125:50 3272testdata/Builtins.lc 125:49-125:50
3250 forall a . a -> a -> Type | forall a . a -> a -> Type | forall a 3273 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3251 . a -> a -> Type 3274 . a -> a -> Constraint
3252testdata/Builtins.lc 125:51-125:60 3275testdata/Builtins.lc 125:51-125:60
3253 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type 3276 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type
3254testdata/Builtins.lc 125:51-125:62 3277testdata/Builtins.lc 125:51-125:62
@@ -3274,21 +3297,21 @@ testdata/Builtins.lc 126:1-126:9
3274testdata/Builtins.lc 126:34-126:75 3297testdata/Builtins.lc 126:34-126:75
3275 Type | Type | Type 3298 Type | Type | Type
3276testdata/Builtins.lc 126:35-126:43 3299testdata/Builtins.lc 126:35-126:43
3277 Type -> Type 3300 Type -> Constraint
3278testdata/Builtins.lc 126:35-126:45 3301testdata/Builtins.lc 126:35-126:45
3279 Type 3302 Constraint
3280testdata/Builtins.lc 126:44-126:45 3303testdata/Builtins.lc 126:44-126:45
3281 _f 3304 _f
3282testdata/Builtins.lc 126:47-126:48 3305testdata/Builtins.lc 126:47-126:48
3283 _f 3306 _f
3284testdata/Builtins.lc 126:47-126:50 3307testdata/Builtins.lc 126:47-126:50
3285 _e -> Type 3308 _e -> Constraint
3286testdata/Builtins.lc 126:47-126:64 3309testdata/Builtins.lc 126:47-126:64
3287 Type 3310 Constraint
3288testdata/Builtins.lc 126:47-126:75 3311testdata/Builtins.lc 126:47-126:75
3289 Type 3312 Type
3290testdata/Builtins.lc 126:49-126:50 3313testdata/Builtins.lc 126:49-126:50
3291 forall a . a -> a -> Type 3314 forall a . a -> a -> Constraint
3292testdata/Builtins.lc 126:51-126:60 3315testdata/Builtins.lc 126:51-126:60
3293 Nat -> Type -> Type 3316 Nat -> Type -> Type
3294testdata/Builtins.lc 126:51-126:62 3317testdata/Builtins.lc 126:51-126:62
@@ -3314,21 +3337,21 @@ testdata/Builtins.lc 127:14-127:25
3314testdata/Builtins.lc 127:34-127:102 3337testdata/Builtins.lc 127:34-127:102
3315 Type | Type | Type | Type | Type | Type | Type | Type 3338 Type | Type | Type | Type | Type | Type | Type | Type
3316testdata/Builtins.lc 127:35-127:43 3339testdata/Builtins.lc 127:35-127:43
3317 Type -> Type | Type -> Type 3340 Type -> Constraint | Type -> Constraint
3318testdata/Builtins.lc 127:35-127:45 3341testdata/Builtins.lc 127:35-127:45
3319 Type | Type 3342 Constraint | Constraint
3320testdata/Builtins.lc 127:44-127:45 3343testdata/Builtins.lc 127:44-127:45
3321 _h | _h 3344 _h | _h
3322testdata/Builtins.lc 127:47-127:48 3345testdata/Builtins.lc 127:47-127:48
3323 _h | _h 3346 _h | _h
3324testdata/Builtins.lc 127:47-127:50 3347testdata/Builtins.lc 127:47-127:50
3325 _g -> Type | _g -> Type 3348 _g -> Constraint | _g -> Constraint
3326testdata/Builtins.lc 127:47-127:64 3349testdata/Builtins.lc 127:47-127:64
3327 Type | Type 3350 Constraint | Constraint
3328testdata/Builtins.lc 127:47-127:102 3351testdata/Builtins.lc 127:47-127:102
3329 Type | Type 3352 Type | Type
3330testdata/Builtins.lc 127:49-127:50 3353testdata/Builtins.lc 127:49-127:50
3331 forall a . a -> a -> Type | forall a . a -> a -> Type 3354 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3332testdata/Builtins.lc 127:51-127:60 3355testdata/Builtins.lc 127:51-127:60
3333 Nat -> Type -> Type | Nat -> Type -> Type 3356 Nat -> Type -> Type | Nat -> Type -> Type
3334testdata/Builtins.lc 127:51-127:62 3357testdata/Builtins.lc 127:51-127:62
@@ -3342,13 +3365,13 @@ testdata/Builtins.lc 127:63-127:64
3342testdata/Builtins.lc 127:66-127:67 3365testdata/Builtins.lc 127:66-127:67
3343 _e | _e 3366 _e | _e
3344testdata/Builtins.lc 127:66-127:69 3367testdata/Builtins.lc 127:66-127:69
3345 _d -> Type | _d -> Type 3368 _d -> Constraint | _d -> Constraint
3346testdata/Builtins.lc 127:66-127:86 3369testdata/Builtins.lc 127:66-127:86
3347 Type | Type 3370 Constraint | Constraint
3348testdata/Builtins.lc 127:66-127:102 3371testdata/Builtins.lc 127:66-127:102
3349 Type | Type 3372 Type | Type
3350testdata/Builtins.lc 127:68-127:69 3373testdata/Builtins.lc 127:68-127:69
3351 forall a . a -> a -> Type | forall a . a -> a -> Type 3374 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3352testdata/Builtins.lc 127:70-127:79 3375testdata/Builtins.lc 127:70-127:79
3353 Nat -> Type -> Type | Nat -> Type -> Type 3376 Nat -> Type -> Type | Nat -> Type -> Type
3354testdata/Builtins.lc 127:70-127:81 3377testdata/Builtins.lc 127:70-127:81
@@ -3376,21 +3399,21 @@ testdata/Builtins.lc 128:15-128:27
3376testdata/Builtins.lc 128:34-128:83 3399testdata/Builtins.lc 128:34-128:83
3377 Type | Type | Type | Type | Type | Type 3400 Type | Type | Type | Type | Type | Type
3378testdata/Builtins.lc 128:35-128:43 3401testdata/Builtins.lc 128:35-128:43
3379 Type -> Type | Type -> Type 3402 Type -> Constraint | Type -> Constraint
3380testdata/Builtins.lc 128:35-128:45 3403testdata/Builtins.lc 128:35-128:45
3381 Type | Type 3404 Constraint | Constraint
3382testdata/Builtins.lc 128:44-128:45 3405testdata/Builtins.lc 128:44-128:45
3383 _f | _f 3406 _f | _f
3384testdata/Builtins.lc 128:47-128:48 3407testdata/Builtins.lc 128:47-128:48
3385 _f | _f 3408 _f | _f
3386testdata/Builtins.lc 128:47-128:50 3409testdata/Builtins.lc 128:47-128:50
3387 _e -> Type | _e -> Type 3410 _e -> Constraint | _e -> Constraint
3388testdata/Builtins.lc 128:47-128:64 3411testdata/Builtins.lc 128:47-128:64
3389 Type | Type 3412 Constraint | Constraint
3390testdata/Builtins.lc 128:47-128:83 3413testdata/Builtins.lc 128:47-128:83
3391 Type | Type 3414 Type | Type
3392testdata/Builtins.lc 128:49-128:50 3415testdata/Builtins.lc 128:49-128:50
3393 forall a . a -> a -> Type | forall a . a -> a -> Type 3416 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3394testdata/Builtins.lc 128:51-128:60 3417testdata/Builtins.lc 128:51-128:60
3395 Nat -> Type -> Type | Nat -> Type -> Type 3418 Nat -> Type -> Type | Nat -> Type -> Type
3396testdata/Builtins.lc 128:51-128:62 3419testdata/Builtins.lc 128:51-128:62
@@ -3432,11 +3455,11 @@ testdata/Builtins.lc 131:47-131:79
3432testdata/Builtins.lc 131:48-131:49 3455testdata/Builtins.lc 131:48-131:49
3433 _e 3456 _e
3434testdata/Builtins.lc 131:48-131:51 3457testdata/Builtins.lc 131:48-131:51
3435 _d -> Type 3458 _d -> Constraint
3436testdata/Builtins.lc 131:48-131:68 3459testdata/Builtins.lc 131:48-131:68
3437 Type 3460 Constraint
3438testdata/Builtins.lc 131:50-131:51 3461testdata/Builtins.lc 131:50-131:51
3439 forall a . a -> a -> Type 3462 forall a . a -> a -> Constraint
3440testdata/Builtins.lc 131:52-131:61 3463testdata/Builtins.lc 131:52-131:61
3441 Nat -> Type -> Type 3464 Nat -> Type -> Type
3442testdata/Builtins.lc 131:52-131:63 3465testdata/Builtins.lc 131:52-131:63
@@ -3516,23 +3539,24 @@ testdata/Builtins.lc 136:34-136:67
3516testdata/Builtins.lc 136:35-136:36 3539testdata/Builtins.lc 136:35-136:36
3517 _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e 3540 _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e | _e
3518testdata/Builtins.lc 136:35-136:38 3541testdata/Builtins.lc 136:35-136:38
3519 _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d 3542 _d -> Constraint | _d -> Constraint | _d -> Constraint | _d -> Constraint | _d
3520 -> Type | _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d 3543 -> Constraint | _d -> Constraint | _d -> Constraint | _d -> Constraint | _d
3521 -> Type | _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d 3544 -> Constraint | _d -> Constraint | _d -> Constraint | _d -> Constraint | _d
3522 -> Type | _d -> Type 3545 -> Constraint | _d -> Constraint | _d -> Constraint | _d -> Constraint | _d
3546 -> Constraint | _d -> Constraint | _d -> Constraint | _d -> Constraint
3523testdata/Builtins.lc 136:35-136:56 3547testdata/Builtins.lc 136:35-136:56
3524 Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type 3548 Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint | Constraint
3525testdata/Builtins.lc 136:37-136:38 3549testdata/Builtins.lc 136:37-136:38
3526 forall a . a -> a -> Type | forall a . a -> a -> Type | forall a 3550 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3527 . a -> a -> Type | forall a . a -> a -> Type | forall a 3551 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3528 . a -> a -> Type | forall a . a -> a -> Type | forall a 3552 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3529 . a -> a -> Type | forall a . a -> a -> Type | forall a 3553 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3530 . a -> a -> Type | forall a . a -> a -> Type | forall a 3554 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3531 . a -> a -> Type | forall a . a -> a -> Type | forall a 3555 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3532 . a -> a -> Type | forall a . a -> a -> Type | forall a 3556 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3533 . a -> a -> Type | forall a . a -> a -> Type | forall a 3557 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3534 . a -> a -> Type | forall a . a -> a -> Type | forall a 3558 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3535 . a -> a -> Type | forall a . a -> a -> Type 3559 . a -> a -> Constraint | forall a . a -> a -> Constraint
3536testdata/Builtins.lc 136:39-136:48 3560testdata/Builtins.lc 136:39-136:48
3537 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type | Nat 3561 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type | Nat
3538 -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type | Nat 3562 -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type | Nat
@@ -3567,11 +3591,11 @@ testdata/Builtins.lc 137:34-137:72
3567testdata/Builtins.lc 137:35-137:36 3591testdata/Builtins.lc 137:35-137:36
3568 _e | _e 3592 _e | _e
3569testdata/Builtins.lc 137:35-137:38 3593testdata/Builtins.lc 137:35-137:38
3570 _d -> Type | _d -> Type 3594 _d -> Constraint | _d -> Constraint
3571testdata/Builtins.lc 137:35-137:56 3595testdata/Builtins.lc 137:35-137:56
3572 Type | Type 3596 Constraint | Constraint
3573testdata/Builtins.lc 137:37-137:38 3597testdata/Builtins.lc 137:37-137:38
3574 forall a . a -> a -> Type | forall a . a -> a -> Type 3598 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3575testdata/Builtins.lc 137:39-137:48 3599testdata/Builtins.lc 137:39-137:48
3576 Nat -> Type -> Type | Nat -> Type -> Type 3600 Nat -> Type -> Type | Nat -> Type -> Type
3577testdata/Builtins.lc 137:39-137:50 3601testdata/Builtins.lc 137:39-137:50
@@ -3609,13 +3633,14 @@ testdata/Builtins.lc 140:34-140:67
3609testdata/Builtins.lc 140:35-140:36 3633testdata/Builtins.lc 140:35-140:36
3610 _e | _e | _e | _e | _e | _e 3634 _e | _e | _e | _e | _e | _e
3611testdata/Builtins.lc 140:35-140:38 3635testdata/Builtins.lc 140:35-140:38
3612 _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d -> Type 3636 _d -> Constraint | _d -> Constraint | _d -> Constraint | _d -> Constraint | _d
3637 -> Constraint | _d -> Constraint
3613testdata/Builtins.lc 140:35-140:56 3638testdata/Builtins.lc 140:35-140:56
3614 Type | Type | Type | Type | Type | Type 3639 Constraint | Constraint | Constraint | Constraint | Constraint | Constraint
3615testdata/Builtins.lc 140:37-140:38 3640testdata/Builtins.lc 140:37-140:38
3616 forall a . a -> a -> Type | forall a . a -> a -> Type | forall a 3641 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3617 . a -> a -> Type | forall a . a -> a -> Type | forall a 3642 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
3618 . a -> a -> Type | forall a . a -> a -> Type 3643 . a -> a -> Constraint | forall a . a -> a -> Constraint
3619testdata/Builtins.lc 140:39-140:48 3644testdata/Builtins.lc 140:39-140:48
3620 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type | Nat 3645 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type | Nat
3621 -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type 3646 -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type
@@ -3641,21 +3666,21 @@ testdata/Builtins.lc 141:10-141:17
3641testdata/Builtins.lc 141:34-141:75 3666testdata/Builtins.lc 141:34-141:75
3642 Type | Type | Type | Type | Type | Type 3667 Type | Type | Type | Type | Type | Type
3643testdata/Builtins.lc 141:35-141:38 3668testdata/Builtins.lc 141:35-141:38
3644 Type -> Type | Type -> Type 3669 Type -> Constraint | Type -> Constraint
3645testdata/Builtins.lc 141:35-141:40 3670testdata/Builtins.lc 141:35-141:40
3646 Type | Type 3671 Constraint | Constraint
3647testdata/Builtins.lc 141:39-141:40 3672testdata/Builtins.lc 141:39-141:40
3648 _f | _f 3673 _f | _f
3649testdata/Builtins.lc 141:42-141:43 3674testdata/Builtins.lc 141:42-141:43
3650 _f | _f 3675 _f | _f
3651testdata/Builtins.lc 141:42-141:45 3676testdata/Builtins.lc 141:42-141:45
3652 _e -> Type | _e -> Type 3677 _e -> Constraint | _e -> Constraint
3653testdata/Builtins.lc 141:42-141:59 3678testdata/Builtins.lc 141:42-141:59
3654 Type | Type 3679 Constraint | Constraint
3655testdata/Builtins.lc 141:42-141:75 3680testdata/Builtins.lc 141:42-141:75
3656 Type | Type 3681 Type | Type
3657testdata/Builtins.lc 141:44-141:45 3682testdata/Builtins.lc 141:44-141:45
3658 forall a . a -> a -> Type | forall a . a -> a -> Type 3683 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3659testdata/Builtins.lc 141:46-141:55 3684testdata/Builtins.lc 141:46-141:55
3660 Nat -> Type -> Type | Nat -> Type -> Type 3685 Nat -> Type -> Type | Nat -> Type -> Type
3661testdata/Builtins.lc 141:46-141:57 3686testdata/Builtins.lc 141:46-141:57
@@ -3683,21 +3708,21 @@ testdata/Builtins.lc 142:11-142:19
3683testdata/Builtins.lc 142:34-142:75 3708testdata/Builtins.lc 142:34-142:75
3684 Type | Type | Type | Type | Type | Type 3709 Type | Type | Type | Type | Type | Type
3685testdata/Builtins.lc 142:35-142:38 3710testdata/Builtins.lc 142:35-142:38
3686 Type -> Type | Type -> Type 3711 Type -> Constraint | Type -> Constraint
3687testdata/Builtins.lc 142:35-142:40 3712testdata/Builtins.lc 142:35-142:40
3688 Type | Type 3713 Constraint | Constraint
3689testdata/Builtins.lc 142:39-142:40 3714testdata/Builtins.lc 142:39-142:40
3690 _f | _f 3715 _f | _f
3691testdata/Builtins.lc 142:42-142:43 3716testdata/Builtins.lc 142:42-142:43
3692 _f | _f 3717 _f | _f
3693testdata/Builtins.lc 142:42-142:45 3718testdata/Builtins.lc 142:42-142:45
3694 _e -> Type | _e -> Type 3719 _e -> Constraint | _e -> Constraint
3695testdata/Builtins.lc 142:42-142:59 3720testdata/Builtins.lc 142:42-142:59
3696 Type | Type 3721 Constraint | Constraint
3697testdata/Builtins.lc 142:42-142:75 3722testdata/Builtins.lc 142:42-142:75
3698 Type | Type 3723 Type | Type
3699testdata/Builtins.lc 142:44-142:45 3724testdata/Builtins.lc 142:44-142:45
3700 forall a . a -> a -> Type | forall a . a -> a -> Type 3725 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3701testdata/Builtins.lc 142:46-142:55 3726testdata/Builtins.lc 142:46-142:55
3702 Nat -> Type -> Type | Nat -> Type -> Type 3727 Nat -> Type -> Type | Nat -> Type -> Type
3703testdata/Builtins.lc 142:46-142:57 3728testdata/Builtins.lc 142:46-142:57
@@ -3727,11 +3752,11 @@ testdata/Builtins.lc 143:34-143:89
3727testdata/Builtins.lc 143:35-143:36 3752testdata/Builtins.lc 143:35-143:36
3728 _g | _g 3753 _g | _g
3729testdata/Builtins.lc 143:35-143:38 3754testdata/Builtins.lc 143:35-143:38
3730 _f -> Type | _f -> Type 3755 _f -> Constraint | _f -> Constraint
3731testdata/Builtins.lc 143:35-143:56 3756testdata/Builtins.lc 143:35-143:56
3732 Type | Type 3757 Constraint | Constraint
3733testdata/Builtins.lc 143:37-143:38 3758testdata/Builtins.lc 143:37-143:38
3734 forall a . a -> a -> Type | forall a . a -> a -> Type 3759 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3735testdata/Builtins.lc 143:39-143:48 3760testdata/Builtins.lc 143:39-143:48
3736 Nat -> Type -> Type | Nat -> Type -> Type 3761 Nat -> Type -> Type | Nat -> Type -> Type
3737testdata/Builtins.lc 143:39-143:50 3762testdata/Builtins.lc 143:39-143:50
@@ -3745,13 +3770,13 @@ testdata/Builtins.lc 143:51-143:56
3745testdata/Builtins.lc 143:58-143:59 3770testdata/Builtins.lc 143:58-143:59
3746 _d | _d 3771 _d | _d
3747testdata/Builtins.lc 143:58-143:61 3772testdata/Builtins.lc 143:58-143:61
3748 _c -> Type | _c -> Type 3773 _c -> Constraint | _c -> Constraint
3749testdata/Builtins.lc 143:58-143:78 3774testdata/Builtins.lc 143:58-143:78
3750 Type | Type 3775 Constraint | Constraint
3751testdata/Builtins.lc 143:58-143:89 3776testdata/Builtins.lc 143:58-143:89
3752 Type | Type 3777 Type | Type
3753testdata/Builtins.lc 143:60-143:61 3778testdata/Builtins.lc 143:60-143:61
3754 forall a . a -> a -> Type | forall a . a -> a -> Type 3779 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3755testdata/Builtins.lc 143:62-143:71 3780testdata/Builtins.lc 143:62-143:71
3756 Nat -> Type -> Type | Nat -> Type -> Type 3781 Nat -> Type -> Type | Nat -> Type -> Type
3757testdata/Builtins.lc 143:62-143:73 3782testdata/Builtins.lc 143:62-143:73
@@ -3775,21 +3800,21 @@ testdata/Builtins.lc 144:10-144:18
3775testdata/Builtins.lc 144:34-144:73 3800testdata/Builtins.lc 144:34-144:73
3776 Type | Type | Type | Type | Type | Type 3801 Type | Type | Type | Type | Type | Type
3777testdata/Builtins.lc 144:35-144:41 3802testdata/Builtins.lc 144:35-144:41
3778 Type -> Type | Type -> Type 3803 Type -> Constraint | Type -> Constraint
3779testdata/Builtins.lc 144:35-144:43 3804testdata/Builtins.lc 144:35-144:43
3780 Type | Type 3805 Constraint | Constraint
3781testdata/Builtins.lc 144:42-144:43 3806testdata/Builtins.lc 144:42-144:43
3782 _f | _f 3807 _f | _f
3783testdata/Builtins.lc 144:45-144:46 3808testdata/Builtins.lc 144:45-144:46
3784 _f | _f 3809 _f | _f
3785testdata/Builtins.lc 144:45-144:48 3810testdata/Builtins.lc 144:45-144:48
3786 _e -> Type | _e -> Type 3811 _e -> Constraint | _e -> Constraint
3787testdata/Builtins.lc 144:45-144:62 3812testdata/Builtins.lc 144:45-144:62
3788 Type | Type 3813 Constraint | Constraint
3789testdata/Builtins.lc 144:45-144:73 3814testdata/Builtins.lc 144:45-144:73
3790 Type | Type 3815 Type | Type
3791testdata/Builtins.lc 144:47-144:48 3816testdata/Builtins.lc 144:47-144:48
3792 forall a . a -> a -> Type | forall a . a -> a -> Type 3817 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
3793testdata/Builtins.lc 144:49-144:58 3818testdata/Builtins.lc 144:49-144:58
3794 Nat -> Type -> Type | Nat -> Type -> Type 3819 Nat -> Type -> Type | Nat -> Type -> Type
3795testdata/Builtins.lc 144:49-144:60 3820testdata/Builtins.lc 144:49-144:60
@@ -3813,11 +3838,11 @@ testdata/Builtins.lc 145:34-145:72
3813testdata/Builtins.lc 145:35-145:36 3838testdata/Builtins.lc 145:35-145:36
3814 _e 3839 _e
3815testdata/Builtins.lc 145:35-145:38 3840testdata/Builtins.lc 145:35-145:38
3816 _d -> Type 3841 _d -> Constraint
3817testdata/Builtins.lc 145:35-145:56 3842testdata/Builtins.lc 145:35-145:56
3818 Type 3843 Constraint
3819testdata/Builtins.lc 145:37-145:38 3844testdata/Builtins.lc 145:37-145:38
3820 forall a . a -> a -> Type 3845 forall a . a -> a -> Constraint
3821testdata/Builtins.lc 145:39-145:48 3846testdata/Builtins.lc 145:39-145:48
3822 Nat -> Type -> Type 3847 Nat -> Type -> Type
3823testdata/Builtins.lc 145:39-145:50 3848testdata/Builtins.lc 145:39-145:50
@@ -3845,21 +3870,21 @@ testdata/Builtins.lc 146:1-146:10
3845testdata/Builtins.lc 146:34-146:80 3870testdata/Builtins.lc 146:34-146:80
3846 Type | Type | Type 3871 Type | Type | Type
3847testdata/Builtins.lc 146:35-146:38 3872testdata/Builtins.lc 146:35-146:38
3848 Type -> Type 3873 Type -> Constraint
3849testdata/Builtins.lc 146:35-146:40 3874testdata/Builtins.lc 146:35-146:40
3850 Type 3875 Constraint
3851testdata/Builtins.lc 146:39-146:40 3876testdata/Builtins.lc 146:39-146:40
3852 _f 3877 _f
3853testdata/Builtins.lc 146:42-146:43 3878testdata/Builtins.lc 146:42-146:43
3854 _f 3879 _f
3855testdata/Builtins.lc 146:42-146:45 3880testdata/Builtins.lc 146:42-146:45
3856 _e -> Type 3881 _e -> Constraint
3857testdata/Builtins.lc 146:42-146:59 3882testdata/Builtins.lc 146:42-146:59
3858 Type 3883 Constraint
3859testdata/Builtins.lc 146:42-146:80 3884testdata/Builtins.lc 146:42-146:80
3860 Type 3885 Type
3861testdata/Builtins.lc 146:44-146:45 3886testdata/Builtins.lc 146:44-146:45
3862 forall a . a -> a -> Type 3887 forall a . a -> a -> Constraint
3863testdata/Builtins.lc 146:46-146:55 3888testdata/Builtins.lc 146:46-146:55
3864 Nat -> Type -> Type 3889 Nat -> Type -> Type
3865testdata/Builtins.lc 146:46-146:57 3890testdata/Builtins.lc 146:46-146:57
@@ -3889,21 +3914,21 @@ testdata/Builtins.lc 147:1-147:11
3889testdata/Builtins.lc 147:34-147:80 3914testdata/Builtins.lc 147:34-147:80
3890 Type | Type | Type 3915 Type | Type | Type
3891testdata/Builtins.lc 147:35-147:38 3916testdata/Builtins.lc 147:35-147:38
3892 Type -> Type 3917 Type -> Constraint
3893testdata/Builtins.lc 147:35-147:40 3918testdata/Builtins.lc 147:35-147:40
3894 Type 3919 Constraint
3895testdata/Builtins.lc 147:39-147:40 3920testdata/Builtins.lc 147:39-147:40
3896 _f 3921 _f
3897testdata/Builtins.lc 147:42-147:43 3922testdata/Builtins.lc 147:42-147:43
3898 _f 3923 _f
3899testdata/Builtins.lc 147:42-147:45 3924testdata/Builtins.lc 147:42-147:45
3900 _e -> Type 3925 _e -> Constraint
3901testdata/Builtins.lc 147:42-147:59 3926testdata/Builtins.lc 147:42-147:59
3902 Type 3927 Constraint
3903testdata/Builtins.lc 147:42-147:80 3928testdata/Builtins.lc 147:42-147:80
3904 Type 3929 Type
3905testdata/Builtins.lc 147:44-147:45 3930testdata/Builtins.lc 147:44-147:45
3906 forall a . a -> a -> Type 3931 forall a . a -> a -> Constraint
3907testdata/Builtins.lc 147:46-147:55 3932testdata/Builtins.lc 147:46-147:55
3908 Nat -> Type -> Type 3933 Nat -> Type -> Type
3909testdata/Builtins.lc 147:46-147:57 3934testdata/Builtins.lc 147:46-147:57
@@ -3935,11 +3960,11 @@ testdata/Builtins.lc 148:34-148:77
3935testdata/Builtins.lc 148:35-148:36 3960testdata/Builtins.lc 148:35-148:36
3936 _e 3961 _e
3937testdata/Builtins.lc 148:35-148:38 3962testdata/Builtins.lc 148:35-148:38
3938 _d -> Type 3963 _d -> Constraint
3939testdata/Builtins.lc 148:35-148:56 3964testdata/Builtins.lc 148:35-148:56
3940 Type 3965 Constraint
3941testdata/Builtins.lc 148:37-148:38 3966testdata/Builtins.lc 148:37-148:38
3942 forall a . a -> a -> Type 3967 forall a . a -> a -> Constraint
3943testdata/Builtins.lc 148:39-148:48 3968testdata/Builtins.lc 148:39-148:48
3944 Nat -> Type -> Type 3969 Nat -> Type -> Type
3945testdata/Builtins.lc 148:39-148:50 3970testdata/Builtins.lc 148:39-148:50
@@ -3971,11 +3996,11 @@ testdata/Builtins.lc 149:34-149:81
3971testdata/Builtins.lc 149:35-149:36 3996testdata/Builtins.lc 149:35-149:36
3972 _e 3997 _e
3973testdata/Builtins.lc 149:35-149:38 3998testdata/Builtins.lc 149:35-149:38
3974 _d -> Type 3999 _d -> Constraint
3975testdata/Builtins.lc 149:35-149:56 4000testdata/Builtins.lc 149:35-149:56
3976 Type 4001 Constraint
3977testdata/Builtins.lc 149:37-149:38 4002testdata/Builtins.lc 149:37-149:38
3978 forall a . a -> a -> Type 4003 forall a . a -> a -> Constraint
3979testdata/Builtins.lc 149:39-149:48 4004testdata/Builtins.lc 149:39-149:48
3980 Nat -> Type -> Type 4005 Nat -> Type -> Type
3981testdata/Builtins.lc 149:39-149:50 4006testdata/Builtins.lc 149:39-149:50
@@ -4008,11 +4033,11 @@ testdata/Builtins.lc 150:34-150:99
4008testdata/Builtins.lc 150:35-150:36 4033testdata/Builtins.lc 150:35-150:36
4009 _g 4034 _g
4010testdata/Builtins.lc 150:35-150:38 4035testdata/Builtins.lc 150:35-150:38
4011 _f -> Type 4036 _f -> Constraint
4012testdata/Builtins.lc 150:35-150:56 4037testdata/Builtins.lc 150:35-150:56
4013 Type 4038 Constraint
4014testdata/Builtins.lc 150:37-150:38 4039testdata/Builtins.lc 150:37-150:38
4015 forall a . a -> a -> Type 4040 forall a . a -> a -> Constraint
4016testdata/Builtins.lc 150:39-150:48 4041testdata/Builtins.lc 150:39-150:48
4017 Nat -> Type -> Type 4042 Nat -> Type -> Type
4018testdata/Builtins.lc 150:39-150:50 4043testdata/Builtins.lc 150:39-150:50
@@ -4026,13 +4051,13 @@ testdata/Builtins.lc 150:51-150:56
4026testdata/Builtins.lc 150:58-150:59 4051testdata/Builtins.lc 150:58-150:59
4027 _d 4052 _d
4028testdata/Builtins.lc 150:58-150:61 4053testdata/Builtins.lc 150:58-150:61
4029 _c -> Type 4054 _c -> Constraint
4030testdata/Builtins.lc 150:58-150:78 4055testdata/Builtins.lc 150:58-150:78
4031 Type 4056 Constraint
4032testdata/Builtins.lc 150:58-150:99 4057testdata/Builtins.lc 150:58-150:99
4033 Type 4058 Type
4034testdata/Builtins.lc 150:60-150:61 4059testdata/Builtins.lc 150:60-150:61
4035 forall a . a -> a -> Type 4060 forall a . a -> a -> Constraint
4036testdata/Builtins.lc 150:62-150:71 4061testdata/Builtins.lc 150:62-150:71
4037 Nat -> Type -> Type 4062 Nat -> Type -> Type
4038testdata/Builtins.lc 150:62-150:73 4063testdata/Builtins.lc 150:62-150:73
@@ -4064,11 +4089,11 @@ testdata/Builtins.lc 151:34-151:66
4064testdata/Builtins.lc 151:35-151:36 4089testdata/Builtins.lc 151:35-151:36
4065 _e 4090 _e
4066testdata/Builtins.lc 151:35-151:38 4091testdata/Builtins.lc 151:35-151:38
4067 _d -> Type 4092 _d -> Constraint
4068testdata/Builtins.lc 151:35-151:50 4093testdata/Builtins.lc 151:35-151:50
4069 Type 4094 Constraint
4070testdata/Builtins.lc 151:37-151:38 4095testdata/Builtins.lc 151:37-151:38
4071 forall a . a -> a -> Type 4096 forall a . a -> a -> Constraint
4072testdata/Builtins.lc 151:39-151:42 4097testdata/Builtins.lc 151:39-151:42
4073 Nat -> Type -> Type 4098 Nat -> Type -> Type
4074testdata/Builtins.lc 151:39-151:44 4099testdata/Builtins.lc 151:39-151:44
@@ -4096,11 +4121,11 @@ testdata/Builtins.lc 152:34-152:76
4096testdata/Builtins.lc 152:35-152:36 4121testdata/Builtins.lc 152:35-152:36
4097 _e 4122 _e
4098testdata/Builtins.lc 152:35-152:38 4123testdata/Builtins.lc 152:35-152:38
4099 _d -> Type 4124 _d -> Constraint
4100testdata/Builtins.lc 152:35-152:56 4125testdata/Builtins.lc 152:35-152:56
4101 Type 4126 Constraint
4102testdata/Builtins.lc 152:37-152:38 4127testdata/Builtins.lc 152:37-152:38
4103 forall a . a -> a -> Type 4128 forall a . a -> a -> Constraint
4104testdata/Builtins.lc 152:39-152:48 4129testdata/Builtins.lc 152:39-152:48
4105 Nat -> Type -> Type 4130 Nat -> Type -> Type
4106testdata/Builtins.lc 152:39-152:50 4131testdata/Builtins.lc 152:39-152:50
@@ -4128,11 +4153,11 @@ testdata/Builtins.lc 153:34-153:71
4128testdata/Builtins.lc 153:35-153:36 4153testdata/Builtins.lc 153:35-153:36
4129 _e 4154 _e
4130testdata/Builtins.lc 153:35-153:38 4155testdata/Builtins.lc 153:35-153:38
4131 _d -> Type 4156 _d -> Constraint
4132testdata/Builtins.lc 153:35-153:50 4157testdata/Builtins.lc 153:35-153:50
4133 Type 4158 Constraint
4134testdata/Builtins.lc 153:37-153:38 4159testdata/Builtins.lc 153:37-153:38
4135 forall a . a -> a -> Type 4160 forall a . a -> a -> Constraint
4136testdata/Builtins.lc 153:39-153:42 4161testdata/Builtins.lc 153:39-153:42
4137 Nat -> Type -> Type 4162 Nat -> Type -> Type
4138testdata/Builtins.lc 153:39-153:44 4163testdata/Builtins.lc 153:39-153:44
@@ -4164,11 +4189,11 @@ testdata/Builtins.lc 154:34-154:85
4164testdata/Builtins.lc 154:35-154:36 4189testdata/Builtins.lc 154:35-154:36
4165 _e 4190 _e
4166testdata/Builtins.lc 154:35-154:38 4191testdata/Builtins.lc 154:35-154:38
4167 _d -> Type 4192 _d -> Constraint
4168testdata/Builtins.lc 154:35-154:56 4193testdata/Builtins.lc 154:35-154:56
4169 Type 4194 Constraint
4170testdata/Builtins.lc 154:37-154:38 4195testdata/Builtins.lc 154:37-154:38
4171 forall a . a -> a -> Type 4196 forall a . a -> a -> Constraint
4172testdata/Builtins.lc 154:39-154:48 4197testdata/Builtins.lc 154:39-154:48
4173 Nat -> Type -> Type 4198 Nat -> Type -> Type
4174testdata/Builtins.lc 154:39-154:50 4199testdata/Builtins.lc 154:39-154:50
@@ -4296,11 +4321,11 @@ testdata/Builtins.lc 162:34-162:71
4296testdata/Builtins.lc 162:35-162:36 4321testdata/Builtins.lc 162:35-162:36
4297 _e 4322 _e
4298testdata/Builtins.lc 162:35-162:38 4323testdata/Builtins.lc 162:35-162:38
4299 _d -> Type 4324 _d -> Constraint
4300testdata/Builtins.lc 162:35-162:56 4325testdata/Builtins.lc 162:35-162:56
4301 Type 4326 Constraint
4302testdata/Builtins.lc 162:37-162:38 4327testdata/Builtins.lc 162:37-162:38
4303 forall a . a -> a -> Type 4328 forall a . a -> a -> Constraint
4304testdata/Builtins.lc 162:39-162:48 4329testdata/Builtins.lc 162:39-162:48
4305 Nat -> Type -> Type 4330 Nat -> Type -> Type
4306testdata/Builtins.lc 162:39-162:50 4331testdata/Builtins.lc 162:39-162:50
@@ -4326,11 +4351,11 @@ testdata/Builtins.lc 163:34-163:76
4326testdata/Builtins.lc 163:35-163:36 4351testdata/Builtins.lc 163:35-163:36
4327 _e | _e 4352 _e | _e
4328testdata/Builtins.lc 163:35-163:38 4353testdata/Builtins.lc 163:35-163:38
4329 _d -> Type | _d -> Type 4354 _d -> Constraint | _d -> Constraint
4330testdata/Builtins.lc 163:35-163:56 4355testdata/Builtins.lc 163:35-163:56
4331 Type | Type 4356 Constraint | Constraint
4332testdata/Builtins.lc 163:37-163:38 4357testdata/Builtins.lc 163:37-163:38
4333 forall a . a -> a -> Type | forall a . a -> a -> Type 4358 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
4334testdata/Builtins.lc 163:39-163:48 4359testdata/Builtins.lc 163:39-163:48
4335 Nat -> Type -> Type | Nat -> Type -> Type 4360 Nat -> Type -> Type | Nat -> Type -> Type
4336testdata/Builtins.lc 163:39-163:50 4361testdata/Builtins.lc 163:39-163:50
@@ -4358,11 +4383,11 @@ testdata/Builtins.lc 164:34-164:72
4358testdata/Builtins.lc 164:35-164:36 4383testdata/Builtins.lc 164:35-164:36
4359 _c 4384 _c
4360testdata/Builtins.lc 164:35-164:38 4385testdata/Builtins.lc 164:35-164:38
4361 _b -> Type 4386 _b -> Constraint
4362testdata/Builtins.lc 164:35-164:56 4387testdata/Builtins.lc 164:35-164:56
4363 Type 4388 Constraint
4364testdata/Builtins.lc 164:37-164:38 4389testdata/Builtins.lc 164:37-164:38
4365 forall a . a -> a -> Type 4390 forall a . a -> a -> Constraint
4366testdata/Builtins.lc 164:39-164:48 4391testdata/Builtins.lc 164:39-164:48
4367 Nat -> Type -> Type 4392 Nat -> Type -> Type
4368testdata/Builtins.lc 164:39-164:50 4393testdata/Builtins.lc 164:39-164:50
@@ -4390,11 +4415,11 @@ testdata/Builtins.lc 165:34-165:67
4390testdata/Builtins.lc 165:35-165:36 4415testdata/Builtins.lc 165:35-165:36
4391 _e 4416 _e
4392testdata/Builtins.lc 165:35-165:38 4417testdata/Builtins.lc 165:35-165:38
4393 _d -> Type 4418 _d -> Constraint
4394testdata/Builtins.lc 165:35-165:56 4419testdata/Builtins.lc 165:35-165:56
4395 Type 4420 Constraint
4396testdata/Builtins.lc 165:37-165:38 4421testdata/Builtins.lc 165:37-165:38
4397 forall a . a -> a -> Type 4422 forall a . a -> a -> Constraint
4398testdata/Builtins.lc 165:39-165:48 4423testdata/Builtins.lc 165:39-165:48
4399 Nat -> Type -> Type 4424 Nat -> Type -> Type
4400testdata/Builtins.lc 165:39-165:50 4425testdata/Builtins.lc 165:39-165:50
@@ -4420,11 +4445,11 @@ testdata/Builtins.lc 166:34-166:77
4420testdata/Builtins.lc 166:35-166:36 4445testdata/Builtins.lc 166:35-166:36
4421 _e | _e 4446 _e | _e
4422testdata/Builtins.lc 166:35-166:38 4447testdata/Builtins.lc 166:35-166:38
4423 _d -> Type | _d -> Type 4448 _d -> Constraint | _d -> Constraint
4424testdata/Builtins.lc 166:35-166:56 4449testdata/Builtins.lc 166:35-166:56
4425 Type | Type 4450 Constraint | Constraint
4426testdata/Builtins.lc 166:37-166:38 4451testdata/Builtins.lc 166:37-166:38
4427 forall a . a -> a -> Type | forall a . a -> a -> Type 4452 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
4428testdata/Builtins.lc 166:39-166:48 4453testdata/Builtins.lc 166:39-166:48
4429 Nat -> Type -> Type | Nat -> Type -> Type 4454 Nat -> Type -> Type | Nat -> Type -> Type
4430testdata/Builtins.lc 166:39-166:50 4455testdata/Builtins.lc 166:39-166:50
@@ -4456,11 +4481,11 @@ testdata/Builtins.lc 167:34-167:72
4456testdata/Builtins.lc 167:35-167:36 4481testdata/Builtins.lc 167:35-167:36
4457 _e 4482 _e
4458testdata/Builtins.lc 167:35-167:38 4483testdata/Builtins.lc 167:35-167:38
4459 _d -> Type 4484 _d -> Constraint
4460testdata/Builtins.lc 167:35-167:56 4485testdata/Builtins.lc 167:35-167:56
4461 Type 4486 Constraint
4462testdata/Builtins.lc 167:37-167:38 4487testdata/Builtins.lc 167:37-167:38
4463 forall a . a -> a -> Type 4488 forall a . a -> a -> Constraint
4464testdata/Builtins.lc 167:39-167:48 4489testdata/Builtins.lc 167:39-167:48
4465 Nat -> Type -> Type 4490 Nat -> Type -> Type
4466testdata/Builtins.lc 167:39-167:50 4491testdata/Builtins.lc 167:39-167:50
@@ -4754,24 +4779,25 @@ testdata/Builtins.lc 177:85-177:98
4754testdata/Builtins.lc 178:51-178:114 4779testdata/Builtins.lc 178:51-178:114
4755 Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type 4780 Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type | Type
4756testdata/Builtins.lc 178:52-178:55 4781testdata/Builtins.lc 178:52-178:55
4757 Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type 4782 Type -> Constraint | Type -> Constraint | Type -> Constraint | Type
4758 -> Type 4783 -> Constraint | Type -> Constraint | Type -> Constraint
4759testdata/Builtins.lc 178:52-178:57 4784testdata/Builtins.lc 178:52-178:57
4760 Type | Type | Type | Type | Type | Type 4785 Constraint | Constraint | Constraint | Constraint | Constraint | Constraint
4761testdata/Builtins.lc 178:56-178:57 4786testdata/Builtins.lc 178:56-178:57
4762 _d | _d | _d | _d | _d | _d 4787 _d | _d | _d | _d | _d | _d
4763testdata/Builtins.lc 178:59-178:60 4788testdata/Builtins.lc 178:59-178:60
4764 _i | _i | _i | _i | _i | _i 4789 _i | _i | _i | _i | _i | _i
4765testdata/Builtins.lc 178:59-178:62 4790testdata/Builtins.lc 178:59-178:62
4766 _h -> Type | _h -> Type | _h -> Type | _h -> Type | _h -> Type | _h -> Type 4791 _h -> Constraint | _h -> Constraint | _h -> Constraint | _h -> Constraint | _h
4792 -> Constraint | _h -> Constraint
4767testdata/Builtins.lc 178:59-178:76 4793testdata/Builtins.lc 178:59-178:76
4768 Type | Type | Type | Type | Type | Type 4794 Constraint | Constraint | Constraint | Constraint | Constraint | Constraint
4769testdata/Builtins.lc 178:59-178:114 4795testdata/Builtins.lc 178:59-178:114
4770 Type | Type | Type | Type | Type | Type 4796 Type | Type | Type | Type | Type | Type
4771testdata/Builtins.lc 178:61-178:62 4797testdata/Builtins.lc 178:61-178:62
4772 forall a . a -> a -> Type | forall a . a -> a -> Type | forall a 4798 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
4773 . a -> a -> Type | forall a . a -> a -> Type | forall a 4799 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
4774 . a -> a -> Type | forall a . a -> a -> Type 4800 . a -> a -> Constraint | forall a . a -> a -> Constraint
4775testdata/Builtins.lc 178:63-178:72 4801testdata/Builtins.lc 178:63-178:72
4776 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type | Nat 4802 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type | Nat
4777 -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type 4803 -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type
@@ -4787,15 +4813,16 @@ testdata/Builtins.lc 178:75-178:76
4787testdata/Builtins.lc 178:78-178:79 4813testdata/Builtins.lc 178:78-178:79
4788 _e | _e | _e | _e | _e | _e 4814 _e | _e | _e | _e | _e | _e
4789testdata/Builtins.lc 178:78-178:81 4815testdata/Builtins.lc 178:78-178:81
4790 _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d -> Type | _d -> Type 4816 _d -> Constraint | _d -> Constraint | _d -> Constraint | _d -> Constraint | _d
4817 -> Constraint | _d -> Constraint
4791testdata/Builtins.lc 178:78-178:98 4818testdata/Builtins.lc 178:78-178:98
4792 Type | Type | Type | Type | Type | Type 4819 Constraint | Constraint | Constraint | Constraint | Constraint | Constraint
4793testdata/Builtins.lc 178:78-178:114 4820testdata/Builtins.lc 178:78-178:114
4794 Type | Type | Type | Type | Type | Type 4821 Type | Type | Type | Type | Type | Type
4795testdata/Builtins.lc 178:80-178:81 4822testdata/Builtins.lc 178:80-178:81
4796 forall a . a -> a -> Type | forall a . a -> a -> Type | forall a 4823 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
4797 . a -> a -> Type | forall a . a -> a -> Type | forall a 4824 . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
4798 . a -> a -> Type | forall a . a -> a -> Type 4825 . a -> a -> Constraint | forall a . a -> a -> Constraint
4799testdata/Builtins.lc 178:82-178:91 4826testdata/Builtins.lc 178:82-178:91
4800 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type | Nat 4827 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type | Nat
4801 -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type 4828 -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type
@@ -4827,11 +4854,11 @@ testdata/Builtins.lc 179:47-179:89
4827testdata/Builtins.lc 179:48-179:49 4854testdata/Builtins.lc 179:48-179:49
4828 _c | _c 4855 _c | _c
4829testdata/Builtins.lc 179:48-179:51 4856testdata/Builtins.lc 179:48-179:51
4830 _b -> Type | _b -> Type 4857 _b -> Constraint | _b -> Constraint
4831testdata/Builtins.lc 179:48-179:70 4858testdata/Builtins.lc 179:48-179:70
4832 Type | Type 4859 Constraint | Constraint
4833testdata/Builtins.lc 179:50-179:51 4860testdata/Builtins.lc 179:50-179:51
4834 forall a . a -> a -> Type | forall a . a -> a -> Type 4861 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint
4835testdata/Builtins.lc 179:52-179:68 4862testdata/Builtins.lc 179:52-179:68
4836 Type -> Type | Type -> Type 4863 Type -> Type | Type -> Type
4837testdata/Builtins.lc 179:52-179:70 4864testdata/Builtins.lc 179:52-179:70
@@ -4859,12 +4886,12 @@ testdata/Builtins.lc 182:34-182:67
4859testdata/Builtins.lc 182:35-182:36 4886testdata/Builtins.lc 182:35-182:36
4860 _e | _e | _e 4887 _e | _e | _e
4861testdata/Builtins.lc 182:35-182:38 4888testdata/Builtins.lc 182:35-182:38
4862 _d -> Type | _d -> Type | _d -> Type 4889 _d -> Constraint | _d -> Constraint | _d -> Constraint
4863testdata/Builtins.lc 182:35-182:56 4890testdata/Builtins.lc 182:35-182:56
4864 Type | Type | Type 4891 Constraint | Constraint | Constraint
4865testdata/Builtins.lc 182:37-182:38 4892testdata/Builtins.lc 182:37-182:38
4866 forall a . a -> a -> Type | forall a . a -> a -> Type | forall a 4893 forall a . a -> a -> Constraint | forall a . a -> a -> Constraint | forall a
4867 . a -> a -> Type 4894 . a -> a -> Constraint
4868testdata/Builtins.lc 182:39-182:48 4895testdata/Builtins.lc 182:39-182:48
4869 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type 4896 Nat -> Type -> Type | Nat -> Type -> Type | Nat -> Type -> Type
4870testdata/Builtins.lc 182:39-182:50 4897testdata/Builtins.lc 182:39-182:50
@@ -5306,11 +5333,11 @@ testdata/Builtins.lc 260:32-260:119
5306testdata/Builtins.lc 260:56-260:57 5333testdata/Builtins.lc 260:56-260:57
5307 _e 5334 _e
5308testdata/Builtins.lc 260:56-260:59 5335testdata/Builtins.lc 260:56-260:59
5309 _d -> Type 5336 _d -> Constraint
5310testdata/Builtins.lc 260:56-260:75 5337testdata/Builtins.lc 260:56-260:75
5311 Type 5338 Constraint
5312testdata/Builtins.lc 260:58-260:59 5339testdata/Builtins.lc 260:58-260:59
5313 forall a . a -> a -> Type 5340 forall a . a -> a -> Constraint
5314testdata/Builtins.lc 260:60-260:63 5341testdata/Builtins.lc 260:60-260:63
5315 forall a b . (a -> b) -> [a] -> [b] 5342 forall a b . (a -> b) -> [a] -> [b]
5316testdata/Builtins.lc 260:60-260:72 5343testdata/Builtins.lc 260:60-260:72
@@ -5406,15 +5433,15 @@ testdata/Builtins.lc 266:78-266:81
5406testdata/Builtins.lc 266:78-266:84 5433testdata/Builtins.lc 266:78-266:84
5407 Int 5434 Int
5408testdata/Builtins.lc 266:78-266:86 5435testdata/Builtins.lc 266:78-266:86
5409 Int -> Type 5436 Int -> Constraint
5410testdata/Builtins.lc 266:78-266:92 5437testdata/Builtins.lc 266:78-266:92
5411 Type 5438 Constraint
5412testdata/Builtins.lc 266:78-266:123 5439testdata/Builtins.lc 266:78-266:123
5413 Type 5440 Type
5414testdata/Builtins.lc 266:82-266:84 5441testdata/Builtins.lc 266:82-266:84
5415 [String] 5442 [String]
5416testdata/Builtins.lc 266:85-266:86 5443testdata/Builtins.lc 266:85-266:86
5417 forall a . a -> a -> Type 5444 forall a . a -> a -> Constraint
5418testdata/Builtins.lc 266:87-266:90 5445testdata/Builtins.lc 266:87-266:90
5419 forall a . [a] -> Int 5446 forall a . [a] -> Int
5420testdata/Builtins.lc 266:87-266:92 5447testdata/Builtins.lc 266:87-266:92
@@ -5763,21 +5790,21 @@ testdata/Builtins.lc 308:1-308:11
5763testdata/Builtins.lc 308:45-309:55 5790testdata/Builtins.lc 308:45-309:55
5764 Type | Type | Type | Type 5791 Type | Type | Type | Type
5765testdata/Builtins.lc 308:46-308:49 5792testdata/Builtins.lc 308:46-308:49
5766 Type -> Type 5793 Type -> Constraint
5767testdata/Builtins.lc 308:46-308:51 5794testdata/Builtins.lc 308:46-308:51
5768 Type 5795 Constraint
5769testdata/Builtins.lc 308:50-308:51 5796testdata/Builtins.lc 308:50-308:51
5770 _d 5797 _d
5771testdata/Builtins.lc 308:53-308:58 5798testdata/Builtins.lc 308:53-308:58
5772 _d 5799 _d
5773testdata/Builtins.lc 308:53-308:60 5800testdata/Builtins.lc 308:53-308:60
5774 _c -> Type 5801 _c -> Constraint
5775testdata/Builtins.lc 308:53-308:74 5802testdata/Builtins.lc 308:53-308:74
5776 Type 5803 Constraint
5777testdata/Builtins.lc 308:53-309:55 5804testdata/Builtins.lc 308:53-309:55
5778 Type 5805 Type
5779testdata/Builtins.lc 308:59-308:60 5806testdata/Builtins.lc 308:59-308:60
5780 forall a . a -> a -> Type 5807 forall a . a -> a -> Constraint
5781testdata/Builtins.lc 308:61-308:70 5808testdata/Builtins.lc 308:61-308:70
5782 Nat -> Type -> Type 5809 Nat -> Type -> Type
5783testdata/Builtins.lc 308:61-308:72 5810testdata/Builtins.lc 308:61-308:72
@@ -6391,9 +6418,9 @@ testdata/Builtins.lc 462:3-462:70
6391testdata/Builtins.lc 462:26-462:70 6418testdata/Builtins.lc 462:26-462:70
6392 Type 6419 Type
6393testdata/Builtins.lc 462:27-462:35 6420testdata/Builtins.lc 462:27-462:35
6394 Type -> Type 6421 Type -> Constraint
6395testdata/Builtins.lc 462:27-462:37 6422testdata/Builtins.lc 462:27-462:37
6396 Type 6423 Constraint
6397testdata/Builtins.lc 462:36-462:37 6424testdata/Builtins.lc 462:36-462:37
6398 _b 6425 _b
6399testdata/Builtins.lc 462:42-462:56 6426testdata/Builtins.lc 462:42-462:56
@@ -6482,9 +6509,9 @@ testdata/Builtins.lc 471:3-471:10
6482testdata/Builtins.lc 471:3-471:112 6509testdata/Builtins.lc 471:3-471:112
6483 Type | Type | Type | Type | Type | Type 6510 Type | Type | Type | Type | Type | Type
6484testdata/Builtins.lc 471:26-471:29 6511testdata/Builtins.lc 471:26-471:29
6485 Type -> Type 6512 Type -> Constraint
6486testdata/Builtins.lc 471:26-471:31 6513testdata/Builtins.lc 471:26-471:31
6487 Type 6514 Constraint
6488testdata/Builtins.lc 471:26-471:112 6515testdata/Builtins.lc 471:26-471:112
6489 Type | Type 6516 Type | Type
6490testdata/Builtins.lc 471:30-471:31 6517testdata/Builtins.lc 471:30-471:31
@@ -6577,9 +6604,9 @@ testdata/Builtins.lc 476:11-476:24
6577testdata/Builtins.lc 477:26-477:56 6604testdata/Builtins.lc 477:26-477:56
6578 Type | Type 6605 Type | Type
6579testdata/Builtins.lc 477:27-477:35 6606testdata/Builtins.lc 477:27-477:35
6580 Type -> Type | Type -> Type 6607 Type -> Constraint | Type -> Constraint
6581testdata/Builtins.lc 477:27-477:37 6608testdata/Builtins.lc 477:27-477:37
6582 Type | Type 6609 Constraint | Constraint
6583testdata/Builtins.lc 477:36-477:37 6610testdata/Builtins.lc 477:36-477:37
6584 Type | Type 6611 Type | Type
6585testdata/Builtins.lc 477:42-477:54 6612testdata/Builtins.lc 477:42-477:54
@@ -6612,27 +6639,27 @@ testdata/Builtins.lc 481:10-481:26
6612testdata/Builtins.lc 481:10-481:28 6639testdata/Builtins.lc 481:10-481:28
6613 [Type] 6640 [Type]
6614testdata/Builtins.lc 481:10-481:30 6641testdata/Builtins.lc 481:10-481:30
6615 [Type] -> Type 6642 [Type] -> Constraint
6616testdata/Builtins.lc 481:10-481:44 6643testdata/Builtins.lc 481:10-481:44
6617 Type 6644 Constraint
6618testdata/Builtins.lc 481:14-481:26 6645testdata/Builtins.lc 481:14-481:26
6619 Type -> Type 6646 Type -> Type
6620testdata/Builtins.lc 481:27-481:28 6647testdata/Builtins.lc 481:27-481:28
6621 _h 6648 _h
6622testdata/Builtins.lc 481:29-481:30 6649testdata/Builtins.lc 481:29-481:30
6623 forall a . a -> a -> Type 6650 forall a . a -> a -> Constraint
6624testdata/Builtins.lc 481:31-481:44 6651testdata/Builtins.lc 481:31-481:44
6625 _f 6652 _f
6626testdata/Builtins.lc 482:10-482:11 6653testdata/Builtins.lc 482:10-482:11
6627 _f 6654 _f
6628testdata/Builtins.lc 482:10-482:13 6655testdata/Builtins.lc 482:10-482:13
6629 _e -> Type 6656 _e -> Constraint
6630testdata/Builtins.lc 482:10-482:28 6657testdata/Builtins.lc 482:10-482:28
6631 Type 6658 Constraint
6632testdata/Builtins.lc 482:10-486:34 6659testdata/Builtins.lc 482:10-486:34
6633 Type 6660 Type
6634testdata/Builtins.lc 482:12-482:13 6661testdata/Builtins.lc 482:12-482:13
6635 forall a . a -> a -> Type 6662 forall a . a -> a -> Constraint
6636testdata/Builtins.lc 482:14-482:17 6663testdata/Builtins.lc 482:14-482:17
6637 Nat -> Type -> Type 6664 Nat -> Type -> Type
6638testdata/Builtins.lc 482:14-482:19 6665testdata/Builtins.lc 482:14-482:19
@@ -6747,44 +6774,44 @@ testdata/Builtins.lc 490:58-490:59
6747 Nat 6774 Nat
6748testdata/Builtins.lc 492:12-492:15 6775testdata/Builtins.lc 492:12-492:15
6749 Type 6776 Type
6750testdata/Builtins.lc 492:12-492:23 6777testdata/Builtins.lc 492:12-492:29
6751 Type 6778 Type
6752testdata/Builtins.lc 492:12-495:50 6779testdata/Builtins.lc 492:12-495:50
6753 forall a . [a] -> Type 6780 forall a . [a] -> Constraint
6754testdata/Builtins.lc 492:13-492:14 6781testdata/Builtins.lc 492:13-492:14
6755 _b 6782 _b
6756testdata/Builtins.lc 492:19-492:23 6783testdata/Builtins.lc 492:19-492:29
6757 Type | Type 6784 Type | Type
6758testdata/Builtins.lc 493:1-493:8 6785testdata/Builtins.lc 493:1-493:8
6759 forall a . [a] -> Type 6786 forall a . [a] -> Constraint
6760testdata/Builtins.lc 493:14-493:19 6787testdata/Builtins.lc 493:14-493:20
6761 Type 6788 Constraint
6762testdata/Builtins.lc 493:14-495:50 6789testdata/Builtins.lc 493:14-495:50
6763 [_a] -> Type | Type 6790 [_a] -> Constraint | Constraint
6764testdata/Builtins.lc 494:15-494:20 6791testdata/Builtins.lc 494:15-494:21
6765 Type 6792 Constraint
6766testdata/Builtins.lc 494:15-495:50 6793testdata/Builtins.lc 494:15-495:50
6767 [_c] -> Type | Type 6794 [_c] -> Constraint | Constraint
6768testdata/Builtins.lc 495:22-495:25 6795testdata/Builtins.lc 495:22-495:25
6769 Type -> Type -> Type 6796 Constraint -> Constraint -> Constraint
6770testdata/Builtins.lc 495:22-495:33 6797testdata/Builtins.lc 495:22-495:33
6771 Type -> Type 6798 Constraint -> Constraint
6772testdata/Builtins.lc 495:22-495:50 6799testdata/Builtins.lc 495:22-495:50
6773 Type 6800 Constraint
6774testdata/Builtins.lc 495:27-495:28 6801testdata/Builtins.lc 495:27-495:28
6775 _g 6802 _g
6776testdata/Builtins.lc 495:27-495:30 6803testdata/Builtins.lc 495:27-495:30
6777 _f -> Type 6804 _f -> Constraint
6778testdata/Builtins.lc 495:27-495:32 6805testdata/Builtins.lc 495:27-495:32
6779 Type 6806 Constraint
6780testdata/Builtins.lc 495:29-495:30 6807testdata/Builtins.lc 495:29-495:30
6781 forall a . a -> a -> Type 6808 forall a . a -> a -> Constraint
6782testdata/Builtins.lc 495:31-495:32 6809testdata/Builtins.lc 495:31-495:32
6783 _c 6810 _c
6784testdata/Builtins.lc 495:35-495:42 6811testdata/Builtins.lc 495:35-495:42
6785 forall a . [a] -> Type 6812 forall a . [a] -> Constraint
6786testdata/Builtins.lc 495:35-495:49 6813testdata/Builtins.lc 495:35-495:49
6787 Type 6814 Constraint
6788testdata/Builtins.lc 495:44-495:45 6815testdata/Builtins.lc 495:44-495:45
6789 _g 6816 _g
6790testdata/Builtins.lc 495:44-495:46 6817testdata/Builtins.lc 495:44-495:46
@@ -6796,11 +6823,11 @@ testdata/Builtins.lc 495:45-495:46
6796testdata/Builtins.lc 495:46-495:48 6823testdata/Builtins.lc 495:46-495:48
6797 [_e] 6824 [_e]
6798testdata/Builtins.lc 497:1-497:16 6825testdata/Builtins.lc 497:1-497:16
6799 [Type] -> Type 6826 [Type] -> Constraint
6800testdata/Builtins.lc 497:21-497:28 6827testdata/Builtins.lc 497:21-497:28
6801 forall a . [a] -> Type 6828 forall a . [a] -> Constraint
6802testdata/Builtins.lc 497:21-497:45 6829testdata/Builtins.lc 497:21-497:45
6803 Type 6830 Constraint
6804testdata/Builtins.lc 497:30-497:33 6831testdata/Builtins.lc 497:30-497:33
6805 forall a b . (a -> b) -> [a] -> [b] 6832 forall a b . (a -> b) -> [a] -> [b]
6806testdata/Builtins.lc 497:30-497:42 6833testdata/Builtins.lc 497:30-497:42
@@ -6881,11 +6908,11 @@ testdata/Builtins.lc 517:49-517:174
6881testdata/Builtins.lc 517:50-517:51 6908testdata/Builtins.lc 517:50-517:51
6882 _e 6909 _e
6883testdata/Builtins.lc 517:50-517:53 6910testdata/Builtins.lc 517:50-517:53
6884 _d -> Type 6911 _d -> Constraint
6885testdata/Builtins.lc 517:50-517:81 6912testdata/Builtins.lc 517:50-517:81
6886 Type 6913 Constraint
6887testdata/Builtins.lc 517:52-517:53 6914testdata/Builtins.lc 517:52-517:53
6888 forall a . a -> a -> Type 6915 forall a . a -> a -> Constraint
6889testdata/Builtins.lc 517:54-517:57 6916testdata/Builtins.lc 517:54-517:57
6890 forall a b . (a -> b) -> [a] -> [b] 6917 forall a b . (a -> b) -> [a] -> [b]
6891testdata/Builtins.lc 517:54-517:79 6918testdata/Builtins.lc 517:54-517:79
@@ -7005,9 +7032,9 @@ testdata/Builtins.lc 530:31-530:35
7005testdata/Builtins.lc 530:40-530:125 7032testdata/Builtins.lc 530:40-530:125
7006 Type 7033 Type
7007testdata/Builtins.lc 530:41-530:56 7034testdata/Builtins.lc 530:41-530:56
7008 [Type] -> Type 7035 [Type] -> Constraint
7009testdata/Builtins.lc 530:41-530:58 7036testdata/Builtins.lc 530:41-530:58
7010 Type 7037 Constraint
7011testdata/Builtins.lc 530:57-530:58 7038testdata/Builtins.lc 530:57-530:58
7012 [Type] 7039 [Type]
7013testdata/Builtins.lc 530:63-530:68 7040testdata/Builtins.lc 530:63-530:68
diff --git a/testdata/Internals.out b/testdata/Internals.out
index a2e3f926..1e3dc872 100644
--- a/testdata/Internals.out
+++ b/testdata/Internals.out
@@ -19,11 +19,17 @@ data Empty (_ :: String) :: Type where
19 19
20unsafeCoerce :: forall (a :: _) (b :: _) . a -> b 20unsafeCoerce :: forall (a :: _) (b :: _) . a -> b
21 21
22'EqCT :: forall a -> a -> a -> Type 22data Constraint :: Type where
23 CUnit :: Constraint
24 CEmpty :: String -> Constraint
25
26'CW :: Constraint -> Type
27
28'EqCT :: forall a -> a -> a -> Constraint
23 29
24parEval :: forall (a :: _) -> a -> a -> a 30parEval :: forall (a :: _) -> a -> a -> a
25 31
26'T2 :: Type -> Type -> Type 32'T2 :: Constraint -> Constraint -> Constraint
27 33
28match'Type :: forall (a :: Type -> Type) -> a Type -> forall b -> a b -> a b 34match'Type :: forall (a :: Type -> Type) -> a Type -> forall b -> a b -> a b
29 35
@@ -95,27 +101,27 @@ primIfThenElse
95isEQ 101isEQ
96 = \(a :: _) -> case'Ordering (\_ -> _) (_rhs False) (_rhs True) (_rhs False) a 102 = \(a :: _) -> case'Ordering (\_ -> _) (_rhs False) (_rhs True) (_rhs False) a
97 103
98'Num :: Type -> Type 104'Num :: Type -> Constraint
99'Num 105'Num
100 = \(a :: _) -> match'Int 106 = \(a :: _) -> match'Int
101 (\_ -> _) 107 (\_ -> _)
102 (_rhs 'Unit) 108 (_rhs 'CUnit)
103 a 109 a
104 (match'Word 110 (match'Word
105 (\_ -> _) 111 (\_ -> _)
106 (_rhs 'Unit) 112 (_rhs 'CUnit)
107 a 113 a
108 (match'Float 114 (match'Float
109 (\_ -> _) 115 (\_ -> _)
110 (_rhs 'Unit) 116 (_rhs 'CUnit)
111 a 117 a
112 (match'Nat 118 (match'Nat
113 (\_ -> _) 119 (\_ -> _)
114 (_rhs 'Unit) 120 (_rhs 'CUnit)
115 a 121 a
116 (_rhs ('Empty "no instance of 'Num on ???"))))) 122 (_rhs ('CEmpty "no instance of 'Num on ???")))))
117 123
118fromInt :: forall a . Num a => Int -> a 124fromInt :: forall a . CW (Num a) => Int -> a
119fromInt 125fromInt
120 = \ @a @_ -> match'Int 126 = \ @a @_ -> match'Int
121 (\_ -> _) 127 (\_ -> _)
@@ -131,7 +137,7 @@ fromInt
131 a 137 a
132 (match'Nat (\_ -> _) (_rhs let f = _rhs primIntToNat in f) a (_rhs undefined)))) 138 (match'Nat (\_ -> _) (_rhs let f = _rhs primIntToNat in f) a (_rhs undefined))))
133 139
134compare :: forall a . Num a => a -> a -> Ordering 140compare :: forall a . CW (Num a) => a -> a -> Ordering
135compare 141compare
136 = \ @a @_ -> match'Int 142 = \ @a @_ -> match'Int
137 (\_ -> _) 143 (\_ -> _)
@@ -147,7 +153,7 @@ compare
147 a 153 a
148 (match'Nat (\_ -> _) (_rhs let e = _rhs undefined in e) a (_rhs undefined)))) 154 (match'Nat (\_ -> _) (_rhs let e = _rhs undefined in e) a (_rhs undefined))))
149 155
150negate :: forall a . Num a => a -> a 156negate :: forall a . CW (Num a) => a -> a
151negate 157negate
152 = \ @a @_ -> match'Int 158 = \ @a @_ -> match'Int
153 (\_ -> _) 159 (\_ -> _)
@@ -163,35 +169,35 @@ negate
163 a 169 a
164 (match'Nat (\_ -> _) (_rhs let e = _rhs undefined in e) a (_rhs undefined)))) 170 (match'Nat (\_ -> _) (_rhs let e = _rhs undefined in e) a (_rhs undefined))))
165 171
166'Eq :: Type -> Type 172'Eq :: Type -> Constraint
167'Eq 173'Eq
168 = \(a :: _) -> match'String 174 = \(a :: _) -> match'String
169 (\_ -> _) 175 (\_ -> _)
170 (_rhs 'Unit) 176 (_rhs 'CUnit)
171 a 177 a
172 (match'Char 178 (match'Char
173 (\_ -> _) 179 (\_ -> _)
174 (_rhs 'Unit) 180 (_rhs 'CUnit)
175 a 181 a
176 (match'Int 182 (match'Int
177 (\_ -> _) 183 (\_ -> _)
178 (_rhs 'Unit) 184 (_rhs 'CUnit)
179 a 185 a
180 (match'Float 186 (match'Float
181 (\_ -> _) 187 (\_ -> _)
182 (_rhs 'Unit) 188 (_rhs 'CUnit)
183 a 189 a
184 (match'Bool 190 (match'Bool
185 (\_ -> _) 191 (\_ -> _)
186 (_rhs 'Unit) 192 (_rhs 'CUnit)
187 a 193 a
188 (match'Nat 194 (match'Nat
189 (\_ -> _) 195 (\_ -> _)
190 (_rhs 'Unit) 196 (_rhs 'CUnit)
191 a 197 a
192 (_rhs ('Empty "no instance of 'Eq on ???"))))))) 198 (_rhs ('CEmpty "no instance of 'Eq on ???")))))))
193 199
194(==) :: forall a . Eq a => a -> a -> Bool 200(==) :: forall a . CW (Eq a) => a -> a -> Bool
195(==) 201(==)
196 = \ @a @_ -> match'String 202 = \ @a @_ -> match'String
197 (\_ -> _) 203 (\_ -> _)
@@ -267,11 +273,21 @@ match'Empty
267 :: forall (a :: Type -> Type) 273 :: forall (a :: Type -> Type)
268 -> (forall (b :: String) -> a (Empty b)) -> forall c -> a c -> a c 274 -> (forall (b :: String) -> a (Empty b)) -> forall c -> a c -> a c
269unsafeCoerce :: forall a b . a -> b 275unsafeCoerce :: forall a b . a -> b
270'EqCT :: forall a -> a -> a -> Type 276'Constraint :: Type
277CUnit :: Constraint
278CEmpty :: String -> Constraint
279case'Constraint
280 :: forall (a :: Constraint -> Type)
281 -> a 'CUnit
282 -> (forall (b :: String) -> a ('CEmpty b)) -> forall (c :: Constraint) -> a c
283match'Constraint
284 :: forall (a :: Type -> Type) -> a Constraint -> forall b -> a b -> a b
285'CW :: Constraint -> Type
286'EqCT :: forall a -> a -> a -> Constraint
271parEval :: forall a -> a -> a -> a 287parEval :: forall a -> a -> a -> a
272'T2 :: Type -> Type -> Type 288'T2 :: Constraint -> Constraint -> Constraint
273match'Type :: forall (a :: Type -> Type) -> a Type -> forall b -> a b -> a b 289match'Type :: forall (a :: Type -> Type) -> a Type -> forall b -> a b -> a b
274'EqCTt :: forall a . a -> a -> Type 290'EqCTt :: forall a . a -> a -> Constraint
275t2C :: Unit -> Unit -> Unit 291t2C :: Unit -> Unit -> Unit
276'Int :: Type 292'Int :: Type
277case'Int :: forall (a :: Int -> Type) (b :: Int) -> a b 293case'Int :: forall (a :: Int -> Type) (b :: Int) -> a b
@@ -326,11 +342,11 @@ primSqrtFloat :: Float -> Float
326primRound :: Float -> Int 342primRound :: Float -> Int
327primIfThenElse :: forall a . Bool -> a -> a -> a 343primIfThenElse :: forall a . Bool -> a -> a -> a
328isEQ :: Ordering -> Bool 344isEQ :: Ordering -> Bool
329'Num :: Type -> Type 345'Num :: Type -> Constraint
330fromInt :: forall a . Num a => Int -> a 346fromInt :: forall a . Num a => Int -> a
331compare :: forall a . Num a => a -> a -> Ordering 347compare :: forall a . Num a => a -> a -> Ordering
332negate :: forall a . Num a => a -> a 348negate :: forall a . Num a => a -> a
333'Eq :: Type -> Type 349'Eq :: Type -> Constraint
334(==) :: forall a . Eq a => a -> a -> Bool 350(==) :: forall a . Eq a => a -> a -> Bool
335'List :: Type -> Type 351'List :: Type -> Type
336[] :: forall a . [a] 352[] :: forall a . [a]
@@ -404,593 +420,624 @@ testdata/Internals.lc 19:30-19:36
404 Type | Type 420 Type | Type
405testdata/Internals.lc 19:35-19:36 421testdata/Internals.lc 19:35-19:36
406 _c | Type 422 _c | Type
407testdata/Internals.lc 22:13-22:17 423testdata/Internals.lc 21:6-21:16
408 forall a -> a -> a -> Type 424 Type | Type | Type | Type
409testdata/Internals.lc 22:24-22:28 425testdata/Internals.lc 21:6-23:11
426 Type | Type
427testdata/Internals.lc 22:5-22:10
428 Constraint
429testdata/Internals.lc 22:14-22:24
430 Type
431testdata/Internals.lc 23:5-23:11
432 String -> Constraint | Constraint | Type | Type
433testdata/Internals.lc 23:15-23:21
434 Type
435testdata/Internals.lc 23:25-23:35
436 Type | Type
437testdata/Internals.lc 25:13-25:15
438 Constraint -> Type
439testdata/Internals.lc 25:22-25:32
440 Type
441testdata/Internals.lc 31:13-31:17
442 forall a -> a -> a -> Constraint
443testdata/Internals.lc 31:24-31:28
410 Type 444 Type
411testdata/Internals.lc 22:36-22:37 445testdata/Internals.lc 31:36-31:37
412 Type 446 Type
413testdata/Internals.lc 22:36-22:46 447testdata/Internals.lc 31:36-31:61
414 Type 448 Type
415testdata/Internals.lc 22:45-22:46 449testdata/Internals.lc 31:45-31:46
450 Type
451testdata/Internals.lc 31:45-31:61
452 Type
453testdata/Internals.lc 31:51-31:61
416 Type | Type 454 Type | Type
417testdata/Internals.lc 31:1-31:8 455testdata/Internals.lc 40:1-40:8
418 forall a -> a -> a -> a 456 forall a -> a -> a -> a
419testdata/Internals.lc 31:24-31:25 457testdata/Internals.lc 40:24-40:25
420 _b 458 _b
421testdata/Internals.lc 31:24-31:35 459testdata/Internals.lc 40:24-40:35
460 Type
461testdata/Internals.lc 40:29-40:30
462 Type
463testdata/Internals.lc 40:29-40:35
464 Type
465testdata/Internals.lc 40:34-40:35
466 Type | Type
467testdata/Internals.lc 43:13-43:15
468 Constraint -> Constraint -> Constraint
469testdata/Internals.lc 43:22-43:32
422 Type 470 Type
423testdata/Internals.lc 31:29-31:30 471testdata/Internals.lc 43:40-43:50
424 Type 472 Type
425testdata/Internals.lc 31:29-31:35 473testdata/Internals.lc 43:40-43:65
426 Type 474 Type
427testdata/Internals.lc 31:34-31:35 475testdata/Internals.lc 43:55-43:65
428 Type | Type 476 Type | Type
429testdata/Internals.lc 34:13-34:15 477testdata/Internals.lc 50:1-50:11
430 Type -> Type -> Type
431testdata/Internals.lc 36:1-36:11
432 forall (a :: Type -> Type) -> a Type -> forall b -> a b -> a b 478 forall (a :: Type -> Type) -> a Type -> forall b -> a b -> a b
433testdata/Internals.lc 36:28-36:32 479testdata/Internals.lc 50:28-50:32
434 Type 480 Type
435testdata/Internals.lc 36:36-36:40 481testdata/Internals.lc 50:36-50:40
436 Type | Type 482 Type | Type
437testdata/Internals.lc 36:45-36:46 483testdata/Internals.lc 50:45-50:46
438 Type -> Type 484 Type -> Type
439testdata/Internals.lc 36:45-36:51 485testdata/Internals.lc 50:45-50:51
440 Type 486 Type
441testdata/Internals.lc 36:45-36:87 487testdata/Internals.lc 50:45-50:87
442 Type 488 Type
443testdata/Internals.lc 36:47-36:51 489testdata/Internals.lc 50:47-50:51
444 Type 490 Type
445testdata/Internals.lc 36:55-36:87 491testdata/Internals.lc 50:55-50:87
446 Type 492 Type
447testdata/Internals.lc 36:68-36:72 493testdata/Internals.lc 50:68-50:72
448 Type 494 Type
449testdata/Internals.lc 36:77-36:78 495testdata/Internals.lc 50:77-50:78
450 Type -> Type 496 Type -> Type
451testdata/Internals.lc 36:77-36:80 497testdata/Internals.lc 50:77-50:80
452 Type 498 Type
453testdata/Internals.lc 36:77-36:87 499testdata/Internals.lc 50:77-50:87
454 Type 500 Type
455testdata/Internals.lc 36:79-36:80 501testdata/Internals.lc 50:79-50:80
456 Type 502 Type
457testdata/Internals.lc 36:84-36:85 503testdata/Internals.lc 50:84-50:85
458 Type -> Type 504 Type -> Type
459testdata/Internals.lc 36:84-36:87 505testdata/Internals.lc 50:84-50:87
460 Type | Type 506 Type | Type
461testdata/Internals.lc 36:86-36:87 507testdata/Internals.lc 50:86-50:87
462 Type 508 Type
463testdata/Internals.lc 38:6-38:11 509testdata/Internals.lc 52:6-52:11
464 forall a . a -> a -> Type 510 forall a . a -> a -> Constraint
465testdata/Internals.lc 38:14-38:18 511testdata/Internals.lc 52:14-52:18
466 forall a -> a -> a -> Type 512 forall a -> a -> a -> Constraint
467testdata/Internals.lc 38:14-38:20 513testdata/Internals.lc 52:14-52:20
468 _a -> _a -> Type 514 _a -> _a -> Constraint
469testdata/Internals.lc 41:1-41:4 515testdata/Internals.lc 55:1-55:4
470 Unit -> Unit -> Unit 516 Unit -> Unit -> Unit
471testdata/Internals.lc 41:8-41:12 517testdata/Internals.lc 55:8-55:12
472 Type 518 Type
473testdata/Internals.lc 41:16-41:20 519testdata/Internals.lc 55:16-55:20
474 Type 520 Type
475testdata/Internals.lc 41:16-41:28 521testdata/Internals.lc 55:16-55:28
476 Type 522 Type
477testdata/Internals.lc 41:24-41:28 523testdata/Internals.lc 55:24-55:28
478 Type | Type 524 Type | Type
479testdata/Internals.lc 44:6-44:9 525testdata/Internals.lc 58:6-58:9
480 Type | Type | Type | Type 526 Type | Type | Type | Type
481testdata/Internals.lc 45:6-45:10 527testdata/Internals.lc 59:6-59:10
482 Type | Type | Type | Type 528 Type | Type | Type | Type
483testdata/Internals.lc 46:6-46:11 529testdata/Internals.lc 60:6-60:11
484 Type | Type | Type | Type 530 Type | Type | Type | Type
485testdata/Internals.lc 47:6-47:10 531testdata/Internals.lc 61:6-61:10
486 Type | Type | Type | Type 532 Type | Type | Type | Type
487testdata/Internals.lc 49:6-49:10 533testdata/Internals.lc 63:6-63:10
488 Type | Type | Type | Type | Type | Type 534 Type | Type | Type | Type | Type | Type
489testdata/Internals.lc 49:6-49:25 535testdata/Internals.lc 63:6-63:25
490 Type | Type 536 Type | Type
491testdata/Internals.lc 49:13-49:18 537testdata/Internals.lc 63:13-63:18
492 Bool 538 Bool
493testdata/Internals.lc 49:21-49:25 539testdata/Internals.lc 63:21-63:25
494 Bool 540 Bool
495testdata/Internals.lc 51:6-51:14 541testdata/Internals.lc 65:6-65:14
496 Type | Type | Type | Type | Type | Type | Type 542 Type | Type | Type | Type | Type | Type | Type
497testdata/Internals.lc 51:6-51:29 543testdata/Internals.lc 65:6-65:29
498 Type | Type | Type 544 Type | Type | Type
499testdata/Internals.lc 51:17-51:19 545testdata/Internals.lc 65:17-65:19
500 Ordering 546 Ordering
501testdata/Internals.lc 51:22-51:24 547testdata/Internals.lc 65:22-65:24
502 Ordering 548 Ordering
503testdata/Internals.lc 51:27-51:29 549testdata/Internals.lc 65:27-65:29
504 Ordering 550 Ordering
505testdata/Internals.lc 53:6-53:9 551testdata/Internals.lc 67:6-67:9
506 Type | Type | Type | Type | Type | Type | Type 552 Type | Type | Type | Type | Type | Type | Type
507testdata/Internals.lc 53:6-53:23 553testdata/Internals.lc 67:6-67:23
508 Type | Type 554 Type | Type
509testdata/Internals.lc 53:12-53:16 555testdata/Internals.lc 67:12-67:16
510 Nat 556 Nat
511testdata/Internals.lc 53:19-53:23 557testdata/Internals.lc 67:19-67:23
512 Nat -> Nat | Nat | Type | Type 558 Nat -> Nat | Nat | Type | Type
513testdata/Internals.lc 53:24-53:27 559testdata/Internals.lc 67:24-67:27
514 Type 560 Type
515testdata/Internals.lc 56:1-56:14 561testdata/Internals.lc 70:1-70:14
516 Int -> Word 562 Int -> Word
517testdata/Internals.lc 56:24-56:27 563testdata/Internals.lc 70:24-70:27
518 Type 564 Type
519testdata/Internals.lc 56:33-56:37 565testdata/Internals.lc 70:33-70:37
520 Type | Type 566 Type | Type
521testdata/Internals.lc 57:1-57:15 567testdata/Internals.lc 71:1-71:15
522 Int -> Float 568 Int -> Float
523testdata/Internals.lc 57:24-57:27 569testdata/Internals.lc 71:24-71:27
524 Type 570 Type
525testdata/Internals.lc 57:33-57:38 571testdata/Internals.lc 71:33-71:38
526 Type | Type 572 Type | Type
527testdata/Internals.lc 58:1-58:13 573testdata/Internals.lc 72:1-72:13
528 Int -> Nat 574 Int -> Nat
529testdata/Internals.lc 58:24-58:27 575testdata/Internals.lc 72:24-72:27
530 Type 576 Type
531testdata/Internals.lc 58:33-58:36 577testdata/Internals.lc 72:33-72:36
532 Type | Type 578 Type | Type
533testdata/Internals.lc 59:1-59:15 579testdata/Internals.lc 73:1-73:15
534 Int -> Int -> Ordering 580 Int -> Int -> Ordering
535testdata/Internals.lc 59:24-59:27 581testdata/Internals.lc 73:24-73:27
536 Type 582 Type
537testdata/Internals.lc 59:33-59:36 583testdata/Internals.lc 73:33-73:36
538 Type 584 Type
539testdata/Internals.lc 59:33-59:50 585testdata/Internals.lc 73:33-73:50
540 Type 586 Type
541testdata/Internals.lc 59:42-59:50 587testdata/Internals.lc 73:42-73:50
542 Type | Type 588 Type | Type
543testdata/Internals.lc 60:1-60:16 589testdata/Internals.lc 74:1-74:16
544 Word -> Word -> Ordering 590 Word -> Word -> Ordering
545testdata/Internals.lc 60:24-60:28 591testdata/Internals.lc 74:24-74:28
546 Type 592 Type
547testdata/Internals.lc 60:33-60:37 593testdata/Internals.lc 74:33-74:37
548 Type 594 Type
549testdata/Internals.lc 60:33-60:50 595testdata/Internals.lc 74:33-74:50
550 Type 596 Type
551testdata/Internals.lc 60:42-60:50 597testdata/Internals.lc 74:42-74:50
552 Type | Type 598 Type | Type
553testdata/Internals.lc 61:1-61:17 599testdata/Internals.lc 75:1-75:17
554 Float -> Float -> Ordering 600 Float -> Float -> Ordering
555testdata/Internals.lc 61:24-61:29 601testdata/Internals.lc 75:24-75:29
556 Type 602 Type
557testdata/Internals.lc 61:33-61:38 603testdata/Internals.lc 75:33-75:38
558 Type 604 Type
559testdata/Internals.lc 61:33-61:50 605testdata/Internals.lc 75:33-75:50
560 Type 606 Type
561testdata/Internals.lc 61:42-61:50 607testdata/Internals.lc 75:42-75:50
562 Type | Type 608 Type | Type
563testdata/Internals.lc 62:1-62:16 609testdata/Internals.lc 76:1-76:16
564 Char -> Char -> Ordering 610 Char -> Char -> Ordering
565testdata/Internals.lc 62:24-62:28 611testdata/Internals.lc 76:24-76:28
566 Type 612 Type
567testdata/Internals.lc 62:33-62:37 613testdata/Internals.lc 76:33-76:37
568 Type 614 Type
569testdata/Internals.lc 62:33-62:50 615testdata/Internals.lc 76:33-76:50
570 Type 616 Type
571testdata/Internals.lc 62:42-62:50 617testdata/Internals.lc 76:42-76:50
572 Type | Type 618 Type | Type
573testdata/Internals.lc 63:1-63:18 619testdata/Internals.lc 77:1-77:18
574 String -> String -> Ordering 620 String -> String -> Ordering
575testdata/Internals.lc 63:24-63:30 621testdata/Internals.lc 77:24-77:30
576 Type 622 Type
577testdata/Internals.lc 63:34-63:40 623testdata/Internals.lc 77:34-77:40
578 Type 624 Type
579testdata/Internals.lc 63:34-63:52 625testdata/Internals.lc 77:34-77:52
580 Type 626 Type
581testdata/Internals.lc 63:44-63:52 627testdata/Internals.lc 77:44-77:52
582 Type | Type 628 Type | Type
583testdata/Internals.lc 64:1-64:14 629testdata/Internals.lc 78:1-78:14
584 Int -> Int 630 Int -> Int
585testdata/Internals.lc 64:24-64:27 631testdata/Internals.lc 78:24-78:27
586 Type 632 Type
587testdata/Internals.lc 64:33-64:36 633testdata/Internals.lc 78:33-78:36
588 Type | Type 634 Type | Type
589testdata/Internals.lc 65:1-65:15 635testdata/Internals.lc 79:1-79:15
590 Word -> Word 636 Word -> Word
591testdata/Internals.lc 65:24-65:28 637testdata/Internals.lc 79:24-79:28
592 Type 638 Type
593testdata/Internals.lc 65:33-65:37 639testdata/Internals.lc 79:33-79:37
594 Type | Type 640 Type | Type
595testdata/Internals.lc 66:1-66:16 641testdata/Internals.lc 80:1-80:16
596 Float -> Float 642 Float -> Float
597testdata/Internals.lc 66:24-66:29 643testdata/Internals.lc 80:24-80:29
598 Type 644 Type
599testdata/Internals.lc 66:33-66:38 645testdata/Internals.lc 80:33-80:38
600 Type | Type 646 Type | Type
601testdata/Internals.lc 67:1-67:11 647testdata/Internals.lc 81:1-81:11
602 Int -> Int -> Int 648 Int -> Int -> Int
603testdata/Internals.lc 67:24-67:27 649testdata/Internals.lc 81:24-81:27
604 Type 650 Type
605testdata/Internals.lc 67:33-67:36 651testdata/Internals.lc 81:33-81:36
606 Type 652 Type
607testdata/Internals.lc 67:33-67:45 653testdata/Internals.lc 81:33-81:45
608 Type 654 Type
609testdata/Internals.lc 67:42-67:45 655testdata/Internals.lc 81:42-81:45
610 Type | Type 656 Type | Type
611testdata/Internals.lc 68:1-68:11 657testdata/Internals.lc 82:1-82:11
612 Int -> Int -> Int 658 Int -> Int -> Int
613testdata/Internals.lc 68:24-68:27 659testdata/Internals.lc 82:24-82:27
614 Type 660 Type
615testdata/Internals.lc 68:33-68:36 661testdata/Internals.lc 82:33-82:36
616 Type 662 Type
617testdata/Internals.lc 68:33-68:45 663testdata/Internals.lc 82:33-82:45
618 Type 664 Type
619testdata/Internals.lc 68:42-68:45 665testdata/Internals.lc 82:42-82:45
620 Type | Type 666 Type | Type
621testdata/Internals.lc 69:1-69:11 667testdata/Internals.lc 83:1-83:11
622 Int -> Int -> Int 668 Int -> Int -> Int
623testdata/Internals.lc 69:24-69:27 669testdata/Internals.lc 83:24-83:27
624 Type 670 Type
625testdata/Internals.lc 69:33-69:36 671testdata/Internals.lc 83:33-83:36
626 Type 672 Type
627testdata/Internals.lc 69:33-69:45 673testdata/Internals.lc 83:33-83:45
628 Type 674 Type
629testdata/Internals.lc 69:42-69:45 675testdata/Internals.lc 83:42-83:45
630 Type | Type 676 Type | Type
631testdata/Internals.lc 70:1-70:14 677testdata/Internals.lc 84:1-84:14
632 Float -> Float 678 Float -> Float
633testdata/Internals.lc 70:24-70:29 679testdata/Internals.lc 84:24-84:29
634 Type 680 Type
635testdata/Internals.lc 70:33-70:38 681testdata/Internals.lc 84:33-84:38
636 Type | Type 682 Type | Type
637testdata/Internals.lc 71:1-71:10 683testdata/Internals.lc 85:1-85:10
638 Float -> Int 684 Float -> Int
639testdata/Internals.lc 71:24-71:29 685testdata/Internals.lc 85:24-85:29
640 Type 686 Type
641testdata/Internals.lc 71:33-71:36 687testdata/Internals.lc 85:33-85:36
642 Type | Type 688 Type | Type
643testdata/Internals.lc 74:19-74:23 689testdata/Internals.lc 88:19-88:23
644 Type 690 Type
645testdata/Internals.lc 74:19-74:38 691testdata/Internals.lc 88:19-88:38
646 Type 692 Type
647testdata/Internals.lc 74:27-74:28 693testdata/Internals.lc 88:27-88:28
648 _c 694 _c
649testdata/Internals.lc 74:27-74:38 695testdata/Internals.lc 88:27-88:38
650 Type 696 Type
651testdata/Internals.lc 74:32-74:33 697testdata/Internals.lc 88:32-88:33
652 Type 698 Type
653testdata/Internals.lc 74:32-74:38 699testdata/Internals.lc 88:32-88:38
654 Type 700 Type
655testdata/Internals.lc 74:37-74:38 701testdata/Internals.lc 88:37-88:38
656 Type | Type 702 Type | Type
657testdata/Internals.lc 75:1-75:15 703testdata/Internals.lc 89:1-89:15
658 forall a . Bool -> a -> a -> a 704 forall a . Bool -> a -> a -> a
659testdata/Internals.lc 75:28-75:29 705testdata/Internals.lc 89:28-89:29
660 _d 706 _d
661testdata/Internals.lc 75:28-76:29 707testdata/Internals.lc 89:28-90:29
662 Bool -> _d | _d 708 Bool -> _d | _d
663testdata/Internals.lc 76:28-76:29 709testdata/Internals.lc 90:28-90:29
664 _e 710 _e
665testdata/Internals.lc 78:1-78:5 711testdata/Internals.lc 92:1-92:5
666 Ordering -> Bool 712 Ordering -> Bool
667testdata/Internals.lc 78:11-78:15 713testdata/Internals.lc 92:11-92:15
668 Bool 714 Bool
669testdata/Internals.lc 78:11-79:15 715testdata/Internals.lc 92:11-93:15
670 Bool -> Ordering -> Bool 716 Bool -> Ordering -> Bool
671testdata/Internals.lc 79:10-79:15 717testdata/Internals.lc 93:10-93:15
672 Bool | Bool 718 Bool | Bool
673testdata/Internals.lc 82:7-82:10 719testdata/Internals.lc 96:7-96:10
674 Type -> Type | Type -> Type | Type -> Type | Type -> Type 720 Type -> Constraint | Type -> Constraint | Constraint | Type
675testdata/Internals.lc 82:7-83:22 721 -> Constraint | Constraint | Type -> Constraint | Constraint
722testdata/Internals.lc 96:7-97:22
676 Type 723 Type
677testdata/Internals.lc 82:7-84:32 724testdata/Internals.lc 96:7-98:32
678 Type 725 Type
679testdata/Internals.lc 82:7-85:19 726testdata/Internals.lc 96:7-99:19
680 Type 727 Type
681testdata/Internals.lc 83:3-83:10 728testdata/Internals.lc 97:3-97:10
682 forall a . Num a => Int -> a 729 forall a . Num a => Int -> a
683testdata/Internals.lc 83:14-83:17 730testdata/Internals.lc 97:14-97:17
684 Type 731 Type
685testdata/Internals.lc 83:14-83:22 732testdata/Internals.lc 97:14-97:22
686 Type 733 Type
687testdata/Internals.lc 83:21-83:22 734testdata/Internals.lc 97:21-97:22
688 Type | Type 735 Type | Type
689testdata/Internals.lc 84:3-84:10 736testdata/Internals.lc 98:3-98:10
690 forall a . Num a => a -> a -> Ordering 737 forall a . Num a => a -> a -> Ordering
691testdata/Internals.lc 84:14-84:15 738testdata/Internals.lc 98:14-98:15
692 Type 739 Type
693testdata/Internals.lc 84:14-84:32 740testdata/Internals.lc 98:14-98:32
694 Type 741 Type
695testdata/Internals.lc 84:19-84:20 742testdata/Internals.lc 98:19-98:20
696 Type 743 Type
697testdata/Internals.lc 84:19-84:32 744testdata/Internals.lc 98:19-98:32
698 Type 745 Type
699testdata/Internals.lc 84:24-84:32 746testdata/Internals.lc 98:24-98:32
700 Type | Type 747 Type | Type
701testdata/Internals.lc 85:3-85:9 748testdata/Internals.lc 99:3-99:9
702 forall a . Num a => a -> a 749 forall a . Num a => a -> a
703testdata/Internals.lc 85:13-85:14 750testdata/Internals.lc 99:13-99:14
704 Type 751 Type
705testdata/Internals.lc 85:13-85:19 752testdata/Internals.lc 99:13-99:19
706 Type 753 Type
707testdata/Internals.lc 85:18-85:19 754testdata/Internals.lc 99:18-99:19
708 Type | Type 755 Type | Type
709testdata/Internals.lc 88:13-100:25 756testdata/Internals.lc 102:13-114:25
710 Int -> _b 757 Int -> _b
711testdata/Internals.lc 88:19-88:20 758testdata/Internals.lc 102:19-102:20
712 _b 759 _b
713testdata/Internals.lc 89:13-89:27 760testdata/Internals.lc 103:13-103:27
714 Int -> Int -> Ordering 761 Int -> Int -> Ordering
715testdata/Internals.lc 89:13-101:22 762testdata/Internals.lc 103:13-115:22
716 _b -> _b -> Ordering 763 _b -> _b -> Ordering
717testdata/Internals.lc 90:13-90:26 764testdata/Internals.lc 104:13-104:26
718 Int -> Int 765 Int -> Int
719testdata/Internals.lc 90:13-102:22 766testdata/Internals.lc 104:13-116:22
720 _b -> _b 767 _b -> _b
721testdata/Internals.lc 92:13-92:26 768testdata/Internals.lc 106:13-106:26
722 Int -> Word 769 Int -> Word
723testdata/Internals.lc 92:13-100:25 770testdata/Internals.lc 106:13-114:25
724 Int -> _b 771 Int -> _b
725testdata/Internals.lc 93:13-93:28 772testdata/Internals.lc 107:13-107:28
726 Word -> Word -> Ordering 773 Word -> Word -> Ordering
727testdata/Internals.lc 93:13-101:22 774testdata/Internals.lc 107:13-115:22
728 _b -> _b -> Ordering 775 _b -> _b -> Ordering
729testdata/Internals.lc 94:13-94:27 776testdata/Internals.lc 108:13-108:27
730 Word -> Word 777 Word -> Word
731testdata/Internals.lc 94:13-102:22 778testdata/Internals.lc 108:13-116:22
732 _b -> _b 779 _b -> _b
733testdata/Internals.lc 96:13-96:27 780testdata/Internals.lc 110:13-110:27
734 Int -> Float 781 Int -> Float
735testdata/Internals.lc 96:13-100:25 782testdata/Internals.lc 110:13-114:25
736 Int -> _b 783 Int -> _b
737testdata/Internals.lc 97:13-97:29 784testdata/Internals.lc 111:13-111:29
738 Float -> Float -> Ordering 785 Float -> Float -> Ordering
739testdata/Internals.lc 97:13-101:22 786testdata/Internals.lc 111:13-115:22
740 _b -> _b -> Ordering 787 _b -> _b -> Ordering
741testdata/Internals.lc 98:13-98:28 788testdata/Internals.lc 112:13-112:28
742 Float -> Float 789 Float -> Float
743testdata/Internals.lc 98:13-102:22 790testdata/Internals.lc 112:13-116:22
744 _b -> _b 791 _b -> _b
745testdata/Internals.lc 100:13-100:25 792testdata/Internals.lc 114:13-114:25
746 Int -> Nat 793 Int -> Nat
747testdata/Internals.lc 101:13-101:22 794testdata/Internals.lc 115:13-115:22
748 forall a . a 795 forall a . a
749testdata/Internals.lc 102:13-102:22 796testdata/Internals.lc 116:13-116:22
750 forall a . a 797 forall a . a
751testdata/Internals.lc 104:7-104:9 798testdata/Internals.lc 118:7-118:9
752 Type -> Type | Type -> Type 799 Type -> Constraint | Type -> Constraint | Constraint
753testdata/Internals.lc 104:7-105:27 800testdata/Internals.lc 118:7-119:27
754 Type 801 Type
755testdata/Internals.lc 104:7-120:29 802testdata/Internals.lc 118:7-134:29
756 forall a . Eq a => a -> a -> Bool 803 forall a . Eq a => a -> a -> Bool
757testdata/Internals.lc 105:6-105:8 804testdata/Internals.lc 119:6-119:8
758 forall a . Eq a => a -> a -> Bool 805 forall a . Eq a => a -> a -> Bool
759testdata/Internals.lc 105:13-105:14 806testdata/Internals.lc 119:13-119:14
760 Type 807 Type
761testdata/Internals.lc 105:13-105:27 808testdata/Internals.lc 119:13-119:27
762 Type 809 Type
763testdata/Internals.lc 105:18-105:19 810testdata/Internals.lc 119:18-119:19
764 Type 811 Type
765testdata/Internals.lc 105:18-105:27 812testdata/Internals.lc 119:18-119:27
766 Type 813 Type
767testdata/Internals.lc 105:23-105:27 814testdata/Internals.lc 119:23-119:27
768 Type | Type 815 Type | Type
769testdata/Internals.lc 109:35-109:39 816testdata/Internals.lc 123:35-123:39
770 Ordering -> Bool 817 Ordering -> Bool
771testdata/Internals.lc 109:35-109:63 818testdata/Internals.lc 123:35-123:63
772 Bool 819 Bool
773testdata/Internals.lc 109:35-120:29 820testdata/Internals.lc 123:35-134:29
774 _b -> _b -> Bool 821 _b -> _b -> Bool
775testdata/Internals.lc 109:41-109:58 822testdata/Internals.lc 123:41-123:58
776 String -> String -> Ordering 823 String -> String -> Ordering
777testdata/Internals.lc 109:41-109:60 824testdata/Internals.lc 123:41-123:60
778 String -> Ordering 825 String -> Ordering
779testdata/Internals.lc 109:41-109:62 826testdata/Internals.lc 123:41-123:62
780 Ordering 827 Ordering
781testdata/Internals.lc 109:59-109:60 828testdata/Internals.lc 123:59-123:60
782 _d 829 _d
783testdata/Internals.lc 109:61-109:62 830testdata/Internals.lc 123:61-123:62
784 _b 831 _b
785testdata/Internals.lc 110:33-110:37 832testdata/Internals.lc 124:33-124:37
786 Ordering -> Bool 833 Ordering -> Bool
787testdata/Internals.lc 110:33-110:59 834testdata/Internals.lc 124:33-124:59
788 Bool 835 Bool
789testdata/Internals.lc 110:33-120:29 836testdata/Internals.lc 124:33-134:29
790 _b -> _b -> Bool 837 _b -> _b -> Bool
791testdata/Internals.lc 110:39-110:54 838testdata/Internals.lc 124:39-124:54
792 Char -> Char -> Ordering 839 Char -> Char -> Ordering
793testdata/Internals.lc 110:39-110:56 840testdata/Internals.lc 124:39-124:56
794 Char -> Ordering 841 Char -> Ordering
795testdata/Internals.lc 110:39-110:58 842testdata/Internals.lc 124:39-124:58
796 Ordering 843 Ordering
797testdata/Internals.lc 110:55-110:56 844testdata/Internals.lc 124:55-124:56
798 _d 845 _d
799testdata/Internals.lc 110:57-110:58 846testdata/Internals.lc 124:57-124:58
800 _b 847 _b
801testdata/Internals.lc 111:32-111:36 848testdata/Internals.lc 125:32-125:36
802 Ordering -> Bool 849 Ordering -> Bool
803testdata/Internals.lc 111:32-111:57 850testdata/Internals.lc 125:32-125:57
804 Bool 851 Bool
805testdata/Internals.lc 111:32-120:29 852testdata/Internals.lc 125:32-134:29
806 _b -> _b -> Bool 853 _b -> _b -> Bool
807testdata/Internals.lc 111:38-111:52 854testdata/Internals.lc 125:38-125:52
808 Int -> Int -> Ordering 855 Int -> Int -> Ordering
809testdata/Internals.lc 111:38-111:54 856testdata/Internals.lc 125:38-125:54
810 Int -> Ordering 857 Int -> Ordering
811testdata/Internals.lc 111:38-111:56 858testdata/Internals.lc 125:38-125:56
812 Ordering 859 Ordering
813testdata/Internals.lc 111:53-111:54 860testdata/Internals.lc 125:53-125:54
814 _d 861 _d
815testdata/Internals.lc 111:55-111:56 862testdata/Internals.lc 125:55-125:56
816 _b 863 _b
817testdata/Internals.lc 112:34-112:38 864testdata/Internals.lc 126:34-126:38
818 Ordering -> Bool 865 Ordering -> Bool
819testdata/Internals.lc 112:34-112:61 866testdata/Internals.lc 126:34-126:61
820 Bool 867 Bool
821testdata/Internals.lc 112:34-120:29 868testdata/Internals.lc 126:34-134:29
822 _b -> _b -> Bool 869 _b -> _b -> Bool
823testdata/Internals.lc 112:40-112:56 870testdata/Internals.lc 126:40-126:56
824 Float -> Float -> Ordering 871 Float -> Float -> Ordering
825testdata/Internals.lc 112:40-112:58 872testdata/Internals.lc 126:40-126:58
826 Float -> Ordering 873 Float -> Ordering
827testdata/Internals.lc 112:40-112:60 874testdata/Internals.lc 126:40-126:60
828 Ordering 875 Ordering
829testdata/Internals.lc 112:57-112:58 876testdata/Internals.lc 126:57-126:58
830 _d 877 _d
831testdata/Internals.lc 112:59-112:60 878testdata/Internals.lc 126:59-126:60
832 _b 879 _b
833testdata/Internals.lc 114:20-114:24 880testdata/Internals.lc 128:20-128:24
834 Bool 881 Bool
835testdata/Internals.lc 114:20-116:19 882testdata/Internals.lc 128:20-130:19
836 Bool -> Bool | Bool 883 Bool -> Bool | Bool
837testdata/Internals.lc 114:20-120:29 884testdata/Internals.lc 128:20-134:29
838 _b -> _b -> Bool 885 _b -> _b -> Bool
839testdata/Internals.lc 115:22-115:26 886testdata/Internals.lc 129:22-129:26
840 Bool 887 Bool
841testdata/Internals.lc 115:22-116:19 888testdata/Internals.lc 129:22-130:19
842 Bool -> Bool | Bool 889 Bool -> Bool | Bool
843testdata/Internals.lc 116:14-116:19 890testdata/Internals.lc 130:14-130:19
844 Bool | Bool 891 Bool | Bool
845testdata/Internals.lc 118:24-118:28 892testdata/Internals.lc 132:24-132:28
846 Bool 893 Bool
847testdata/Internals.lc 118:24-120:29 894testdata/Internals.lc 132:24-134:29
848 Nat -> Bool 895 Nat -> Bool
849testdata/Internals.lc 119:24-119:25 896testdata/Internals.lc 133:24-133:25
850 Nat 897 Nat
851testdata/Internals.lc 119:24-119:28 898testdata/Internals.lc 133:24-133:28
852 Nat -> Bool 899 Nat -> Bool
853testdata/Internals.lc 119:24-119:30 900testdata/Internals.lc 133:24-133:30
854 Bool 901 Bool
855testdata/Internals.lc 119:24-120:29 902testdata/Internals.lc 133:24-134:29
856 Nat -> Bool 903 Nat -> Bool
857testdata/Internals.lc 119:26-119:28 904testdata/Internals.lc 133:26-133:28
858 forall a . Eq a => a -> a -> Bool 905 forall a . Eq a => a -> a -> Bool
859testdata/Internals.lc 119:29-119:30 906testdata/Internals.lc 133:29-133:30
860 Nat 907 Nat
861testdata/Internals.lc 120:24-120:29 908testdata/Internals.lc 134:24-134:29
862 Bool | Bool 909 Bool | Bool
863testdata/Internals.lc 122:6-122:10 910testdata/Internals.lc 136:6-136:10
864 Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type 911 Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type -> Type | Type
865testdata/Internals.lc 122:6-122:12 912testdata/Internals.lc 136:6-136:12
866 Type | Type | Type | Type 913 Type | Type | Type | Type
867testdata/Internals.lc 122:6-122:23 914testdata/Internals.lc 136:6-136:23
868 Type | Type | Type 915 Type | Type | Type
869testdata/Internals.lc 122:6-122:35 916testdata/Internals.lc 136:6-136:35
870 Type | Type 917 Type | Type
871testdata/Internals.lc 122:11-122:12 918testdata/Internals.lc 136:11-136:12
872 Type | Type 919 Type | Type
873testdata/Internals.lc 122:15-122:18 920testdata/Internals.lc 136:15-136:18
874 forall a . [a] | [_b] 921 forall a . [a] | [_b]
875testdata/Internals.lc 122:22-122:23 922testdata/Internals.lc 136:22-136:23
876 forall a . a -> [a] -> [a] | [_e] | Type | Type | Type 923 forall a . a -> [a] -> [a] | [_e] | Type | Type | Type
877testdata/Internals.lc 122:25-122:26 924testdata/Internals.lc 136:25-136:26
878 Type 925 Type
879testdata/Internals.lc 122:28-122:32 926testdata/Internals.lc 136:28-136:32
880 Type -> Type 927 Type -> Type
881testdata/Internals.lc 122:28-122:34 928testdata/Internals.lc 136:28-136:34
882 Type 929 Type
883testdata/Internals.lc 122:33-122:34 930testdata/Internals.lc 136:33-136:34
884 Type 931 Type
885testdata/Internals.lc 126:6-126:11 932testdata/Internals.lc 140:6-140:11
886 [Type] -> Type | [Type] -> Type | Type | [Type] -> Type | Type | Type 933 [Type] -> Type | [Type] -> Type | Type | [Type] -> Type | Type | Type
887testdata/Internals.lc 126:6-128:45 934testdata/Internals.lc 140:6-142:45
888 Type | Type 935 Type | Type
889testdata/Internals.lc 126:15-126:21 936testdata/Internals.lc 140:15-140:21
890 Type 937 Type
891testdata/Internals.lc 126:16-126:20 938testdata/Internals.lc 140:16-140:20
892 Type 939 Type
893testdata/Internals.lc 126:25-126:29 940testdata/Internals.lc 140:25-140:29
894 Type | Type 941 Type | Type
895testdata/Internals.lc 127:5-127:9 942testdata/Internals.lc 141:5-141:9
896 () 943 ()
897testdata/Internals.lc 127:5-127:22 944testdata/Internals.lc 141:5-141:22
898 Type 945 Type
899testdata/Internals.lc 127:13-127:18 946testdata/Internals.lc 141:13-141:18
900 [Type] -> Type 947 [Type] -> Type
901testdata/Internals.lc 127:13-127:22 948testdata/Internals.lc 141:13-141:22
902 Type 949 Type
903testdata/Internals.lc 127:19-127:22 950testdata/Internals.lc 141:19-141:22
904 forall a . [a] | forall a . [a] 951 forall a . [a] | forall a . [a]
905testdata/Internals.lc 128:5-128:10 952testdata/Internals.lc 142:5-142:10
906 forall a (b :: [Type]) . a -> HList b -> HList (a : b) | HList (_d : _c) 953 forall a (b :: [Type]) . a -> HList b -> HList (a : b) | HList (_d : _c)
907testdata/Internals.lc 128:5-128:45 954testdata/Internals.lc 142:5-142:45
908 Type | Type | Type | Type | Type 955 Type | Type | Type | Type | Type
909testdata/Internals.lc 128:14-128:15 956testdata/Internals.lc 142:14-142:15
910 _d 957 _d
911testdata/Internals.lc 128:14-128:45 958testdata/Internals.lc 142:14-142:45
912 Type | Type 959 Type | Type
913testdata/Internals.lc 128:19-128:24 960testdata/Internals.lc 142:19-142:24
914 [Type] -> Type 961 [Type] -> Type
915testdata/Internals.lc 128:19-128:27 962testdata/Internals.lc 142:19-142:27
916 Type 963 Type
917testdata/Internals.lc 128:19-128:45 964testdata/Internals.lc 142:19-142:45
918 Type 965 Type
919testdata/Internals.lc 128:25-128:27 966testdata/Internals.lc 142:25-142:27
920 _c 967 _c
921testdata/Internals.lc 128:31-128:36 968testdata/Internals.lc 142:31-142:36
922 [Type] -> Type 969 [Type] -> Type
923testdata/Internals.lc 128:31-128:45 970testdata/Internals.lc 142:31-142:45
924 Type | Type 971 Type | Type
925testdata/Internals.lc 128:39-128:40 972testdata/Internals.lc 142:39-142:40
926 Type | Type 973 Type | Type
927testdata/Internals.lc 128:39-128:41 974testdata/Internals.lc 142:39-142:41
928 [Type] -> [Type] | [Type] -> [Type] 975 [Type] -> [Type] | [Type] -> [Type]
929testdata/Internals.lc 128:39-128:44 976testdata/Internals.lc 142:39-142:44
930 [Type] | [Type] 977 [Type] | [Type]
931testdata/Internals.lc 128:40-128:41 978testdata/Internals.lc 142:40-142:41
932 forall a . a -> [a] -> [a] | forall a . a -> [a] -> [a] 979 forall a . a -> [a] -> [a] | forall a . a -> [a] -> [a]
933testdata/Internals.lc 128:42-128:44 980testdata/Internals.lc 142:42-142:44
934 [Type] | [Type] 981 [Type] | [Type]
935testdata/Internals.lc 130:1-130:13 982testdata/Internals.lc 144:1-144:13
936 forall a -> a -> () -> a 983 forall a -> a -> () -> a
937testdata/Internals.lc 130:29-130:30 984testdata/Internals.lc 144:29-144:30
938 _b 985 _b
939testdata/Internals.lc 130:29-130:48 986testdata/Internals.lc 144:29-144:48
940 Type 987 Type
941testdata/Internals.lc 130:34-130:39 988testdata/Internals.lc 144:34-144:39
942 [Type] -> Type 989 [Type] -> Type
943testdata/Internals.lc 130:34-130:43 990testdata/Internals.lc 144:34-144:43
944 Type 991 Type
945testdata/Internals.lc 130:34-130:48 992testdata/Internals.lc 144:34-144:48
946 Type 993 Type
947testdata/Internals.lc 130:40-130:43 994testdata/Internals.lc 144:40-144:43
948 forall a . [a] 995 forall a . [a]
949testdata/Internals.lc 130:47-130:48 996testdata/Internals.lc 144:47-144:48
950 Type | Type 997 Type | Type
951testdata/Internals.lc 131:1-131:14 998testdata/Internals.lc 145:1-145:14
952 forall a (b :: [Type]) . forall c -> (a -> HList b -> c) -> HList (a : b) -> c 999 forall a (b :: [Type]) . forall c -> (a -> HList b -> c) -> HList (a : b) -> c
953testdata/Internals.lc 132:21-132:25 1000testdata/Internals.lc 146:21-146:25
954 Type 1001 Type
955testdata/Internals.lc 132:33-132:37 1002testdata/Internals.lc 146:33-146:37
956 Type -> Type 1003 Type -> Type
957testdata/Internals.lc 132:33-132:42 1004testdata/Internals.lc 146:33-146:42
958 Type 1005 Type
959testdata/Internals.lc 132:33-136:9 1006testdata/Internals.lc 146:33-150:9
960 Type 1007 Type
961testdata/Internals.lc 132:38-132:42 1008testdata/Internals.lc 146:38-146:42
962 Type 1009 Type
963testdata/Internals.lc 133:8-136:9 1010testdata/Internals.lc 147:8-150:9
964 Type 1011 Type
965testdata/Internals.lc 134:8-136:9 1012testdata/Internals.lc 148:8-150:9
966 Type 1013 Type
967testdata/Internals.lc 134:9-134:10 1014testdata/Internals.lc 148:9-148:10
968 Type 1015 Type
969testdata/Internals.lc 134:14-134:19 1016testdata/Internals.lc 148:14-148:19
970 [Type] -> Type 1017 [Type] -> Type
971testdata/Internals.lc 134:14-134:21 1018testdata/Internals.lc 148:14-148:21
972 Type 1019 Type
973testdata/Internals.lc 134:14-134:26 1020testdata/Internals.lc 148:14-148:26
974 Type 1021 Type
975testdata/Internals.lc 134:20-134:21 1022testdata/Internals.lc 148:20-148:21
976 [Type] 1023 [Type]
977testdata/Internals.lc 134:25-134:26 1024testdata/Internals.lc 148:25-148:26
978 _d | Type 1025 _d | Type
979testdata/Internals.lc 135:8-135:13 1026testdata/Internals.lc 149:8-149:13
980 [Type] -> Type 1027 [Type] -> Type
981testdata/Internals.lc 135:8-135:20 1028testdata/Internals.lc 149:8-149:20
982 Type 1029 Type
983testdata/Internals.lc 135:8-136:9 1030testdata/Internals.lc 149:8-150:9
984 Type 1031 Type
985testdata/Internals.lc 135:15-135:16 1032testdata/Internals.lc 149:15-149:16
986 Type 1033 Type
987testdata/Internals.lc 135:15-135:17 1034testdata/Internals.lc 149:15-149:17
988 [Type] -> [Type] 1035 [Type] -> [Type]
989testdata/Internals.lc 135:15-135:19 1036testdata/Internals.lc 149:15-149:19
990 [Type] 1037 [Type]
991testdata/Internals.lc 135:16-135:17 1038testdata/Internals.lc 149:16-149:17
992 forall a . a -> [a] -> [a] 1039 forall a . a -> [a] -> [a]
993testdata/Internals.lc 135:18-135:19 1040testdata/Internals.lc 149:18-149:19
994 [Type] 1041 [Type]
995testdata/Internals.lc 136:8-136:9 1042testdata/Internals.lc 150:8-150:9
996 Type | Type \ No newline at end of file 1043 Type | Type \ No newline at end of file
diff --git a/testdata/Prelude.out b/testdata/Prelude.out
index 7e0353ff..c42c81d0 100644
--- a/testdata/Prelude.out
+++ b/testdata/Prelude.out
@@ -203,7 +203,7 @@ data RecordC (_ :: [RecItem]) :: Type where
203isKeyC 203isKeyC
204 = \(a :: _) (b :: _) (c :: _) -> case'List 204 = \(a :: _) (b :: _) (c :: _) -> case'List
205 (\_ -> _) 205 (\_ -> _)
206 (_rhs ('Empty "")) 206 (_rhs ('CEmpty ""))
207 (\(d :: _) (e :: _) -> case'RecItem 207 (\(d :: _) (e :: _) -> case'RecItem
208 (\_ -> _) 208 (\_ -> _)
209 (\(f :: _) (g :: _) -> _rhs 209 (\(f :: _) (g :: _) -> _rhs
@@ -217,7 +217,7 @@ sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a)
217 217
218project 218project
219 :: forall (a :: _) (b :: [RecItem]) 219 :: forall (a :: _) (b :: [RecItem])
220 . forall (c :: String) -> isKeyC c a b => RecordC b -> a 220 . forall (c :: String) -> CW (isKeyC c a b) => RecordC b -> a
221project 221project
222 = \ @(a :: _) @(b :: _) (c :: _) @_ (d :: _) -> case'List 222 = \ @(a :: _) @(b :: _) (c :: _) @_ (d :: _) -> case'List
223 (\_ -> _) 223 (\_ -> _)
@@ -233,7 +233,7 @@ project
233 @a 233 @a
234 @f 234 @f
235 c 235 c
236 @(undefined @(isKeyC c a f)) 236 @(undefined @('CW (isKeyC c a f)))
237 (RecordCons 237 (RecordCons
238 (sndTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h))))) 238 (sndTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h)))))
239 (_rhs (fstTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h))) 239 (_rhs (fstTup (unsafeCoerce @(_ :: _) @('HList (a : map recItemType f)) h)))
@@ -686,7 +686,7 @@ case'RecordC
686match'RecordC 686match'RecordC
687 :: forall (a :: Type -> Type) 687 :: forall (a :: Type -> Type)
688 -> (forall (b :: [RecItem]) -> a (RecordC b)) -> forall c -> a c -> a c 688 -> (forall (b :: [RecItem]) -> a (RecordC b)) -> forall c -> a c -> a c
689isKeyC :: String -> Type -> [RecItem] -> Type 689isKeyC :: String -> Type -> [RecItem] -> Constraint
690fstTup :: forall a (b :: [Type]) . HList (a : b) -> a 690fstTup :: forall a (b :: [Type]) . HList (a : b) -> a
691sndTup :: forall a (b :: [Type]) . HList (a : b) -> HList b 691sndTup :: forall a (b :: [Type]) . HList (a : b) -> HList b
692project 692project
@@ -1426,17 +1426,17 @@ testdata/Prelude.lc 127:30-127:41
1426testdata/Prelude.lc 127:42-127:44 1426testdata/Prelude.lc 127:42-127:44
1427 [RecItem] 1427 [RecItem]
1428testdata/Prelude.lc 129:1-129:7 1428testdata/Prelude.lc 129:1-129:7
1429 String -> Type -> [RecItem] -> Type 1429 String -> Type -> [RecItem] -> Constraint
1430testdata/Prelude.lc 129:17-129:23 1430testdata/Prelude.lc 129:17-129:24
1431 String -> Type 1431 String -> Constraint
1432testdata/Prelude.lc 129:17-129:26 1432testdata/Prelude.lc 129:17-129:27
1433 Type 1433 Constraint
1434testdata/Prelude.lc 129:17-130:75 1434testdata/Prelude.lc 129:17-130:75
1435 [RecItem] -> Type 1435 [RecItem] -> Constraint
1436testdata/Prelude.lc 129:24-129:26 1436testdata/Prelude.lc 129:25-129:27
1437 String 1437 String
1438testdata/Prelude.lc 130:34-130:75 1438testdata/Prelude.lc 130:34-130:75
1439 Type | Type 1439 Constraint | Constraint
1440testdata/Prelude.lc 130:37-130:38 1440testdata/Prelude.lc 130:37-130:38
1441 _o 1441 _o
1442testdata/Prelude.lc 130:37-130:41 1442testdata/Prelude.lc 130:37-130:41
@@ -1444,7 +1444,7 @@ testdata/Prelude.lc 130:37-130:41
1444testdata/Prelude.lc 130:37-130:44 1444testdata/Prelude.lc 130:37-130:44
1445 Bool 1445 Bool
1446testdata/Prelude.lc 130:37-130:56 1446testdata/Prelude.lc 130:37-130:56
1447 Type -> Type 1447 Constraint -> Constraint
1448testdata/Prelude.lc 130:39-130:41 1448testdata/Prelude.lc 130:39-130:41
1449 forall a . Eq a => a -> a -> Bool 1449 forall a . Eq a => a -> a -> Bool
1450testdata/Prelude.lc 130:42-130:44 1450testdata/Prelude.lc 130:42-130:44
@@ -1452,11 +1452,11 @@ testdata/Prelude.lc 130:42-130:44
1452testdata/Prelude.lc 130:50-130:51 1452testdata/Prelude.lc 130:50-130:51
1453 _l 1453 _l
1454testdata/Prelude.lc 130:50-130:53 1454testdata/Prelude.lc 130:50-130:53
1455 _k -> Type 1455 _k -> Constraint
1456testdata/Prelude.lc 130:50-130:56 1456testdata/Prelude.lc 130:50-130:56
1457 Type 1457 Constraint
1458testdata/Prelude.lc 130:52-130:53 1458testdata/Prelude.lc 130:52-130:53
1459 forall a . a -> a -> Type 1459 forall a . a -> a -> Constraint
1460testdata/Prelude.lc 130:54-130:56 1460testdata/Prelude.lc 130:54-130:56
1461 Type 1461 Type
1462testdata/Prelude.lc 130:62-130:68 1462testdata/Prelude.lc 130:62-130:68
@@ -1487,7 +1487,7 @@ testdata/Prelude.lc 133:10-133:37
1487 HList (_b : _a) -> HList _a 1487 HList (_b : _a) -> HList _a
1488testdata/Prelude.lc 133:35-133:36 1488testdata/Prelude.lc 133:35-133:36
1489 HList _d 1489 HList _d
1490testdata/Prelude.lc 136:12-138:181 1490testdata/Prelude.lc 136:12-138:186
1491 forall a (b :: [RecItem]) 1491 forall a (b :: [RecItem])
1492 . forall (c :: String) -> isKeyC c a b => RecordC b -> a 1492 . forall (c :: String) -> isKeyC c a b => RecordC b -> a
1493testdata/Prelude.lc 136:28-136:37 1493testdata/Prelude.lc 136:28-136:37
@@ -1501,13 +1501,13 @@ testdata/Prelude.lc 136:41-136:97
1501testdata/Prelude.lc 136:54-136:60 1501testdata/Prelude.lc 136:54-136:60
1502 Type 1502 Type
1503testdata/Prelude.lc 136:65-136:71 1503testdata/Prelude.lc 136:65-136:71
1504 String -> Type -> [RecItem] -> Type 1504 String -> Type -> [RecItem] -> Constraint
1505testdata/Prelude.lc 136:65-136:73 1505testdata/Prelude.lc 136:65-136:73
1506 Type -> [RecItem] -> Type 1506 Type -> [RecItem] -> Constraint
1507testdata/Prelude.lc 136:65-136:75 1507testdata/Prelude.lc 136:65-136:75
1508 [RecItem] -> Type 1508 [RecItem] -> Constraint
1509testdata/Prelude.lc 136:65-136:78 1509testdata/Prelude.lc 136:65-136:78
1510 Type 1510 Constraint
1511testdata/Prelude.lc 136:65-136:97 1511testdata/Prelude.lc 136:65-136:97
1512 Type 1512 Type
1513testdata/Prelude.lc 136:72-136:73 1513testdata/Prelude.lc 136:72-136:73
@@ -1535,7 +1535,7 @@ testdata/Prelude.lc 137:57-137:61
1535 String -> Bool 1535 String -> Bool
1536testdata/Prelude.lc 137:57-137:64 1536testdata/Prelude.lc 137:57-137:64
1537 Bool 1537 Bool
1538testdata/Prelude.lc 137:57-138:181 1538testdata/Prelude.lc 137:57-138:186
1539 _m | _j | _g | _e 1539 _m | _j | _g | _e
1540testdata/Prelude.lc 137:59-137:61 1540testdata/Prelude.lc 137:59-137:61
1541 forall a . Eq a => a -> a -> Bool 1541 forall a . Eq a => a -> a -> Bool
@@ -1545,7 +1545,7 @@ testdata/Prelude.lc 137:67-137:73
1545 forall a (b :: [Type]) . HList (a : b) -> a 1545 forall a (b :: [Type]) . HList (a : b) -> a
1546testdata/Prelude.lc 137:67-137:129 1546testdata/Prelude.lc 137:67-137:129
1547 _n 1547 _n
1548testdata/Prelude.lc 137:67-138:181 1548testdata/Prelude.lc 137:67-138:186
1549 Bool -> _n 1549 Bool -> _n
1550testdata/Prelude.lc 137:75-137:87 1550testdata/Prelude.lc 137:75-137:87
1551 forall a b . a -> b 1551 forall a b . a -> b
@@ -1589,9 +1589,9 @@ testdata/Prelude.lc 138:57-138:71
1589 forall (a :: String) -> isKeyC a _o _h => RecordC _h -> _o 1589 forall (a :: String) -> isKeyC a _o _h => RecordC _h -> _o
1590testdata/Prelude.lc 138:57-138:73 1590testdata/Prelude.lc 138:57-138:73
1591 isKeyC _m _o _h => RecordC _h -> _o 1591 isKeyC _m _o _h => RecordC _h -> _o
1592testdata/Prelude.lc 138:57-138:103 1592testdata/Prelude.lc 138:57-138:108
1593 RecordC _h -> _o 1593 RecordC _h -> _o
1594testdata/Prelude.lc 138:57-138:181 1594testdata/Prelude.lc 138:57-138:186
1595 _n 1595 _n
1596testdata/Prelude.lc 138:66-138:67 1596testdata/Prelude.lc 138:66-138:67
1597 Type 1597 Type
@@ -1601,61 +1601,65 @@ testdata/Prelude.lc 138:72-138:73
1601 String 1601 String
1602testdata/Prelude.lc 138:76-138:85 1602testdata/Prelude.lc 138:76-138:85
1603 forall a . a 1603 forall a . a
1604testdata/Prelude.lc 138:76-138:102 1604testdata/Prelude.lc 138:76-138:107
1605 isKeyC _m _o _h 1605 CW (isKeyC _m _o _h)
1606testdata/Prelude.lc 138:88-138:94 1606testdata/Prelude.lc 138:88-138:90
1607 String -> Type -> [RecItem] -> Type 1607 Constraint -> Type
1608testdata/Prelude.lc 138:88-138:96 1608testdata/Prelude.lc 138:88-138:106
1609 Type -> [RecItem] -> Type 1609 Type
1610testdata/Prelude.lc 138:88-138:98 1610testdata/Prelude.lc 138:92-138:98
1611 [RecItem] -> Type 1611 String -> Type -> [RecItem] -> Constraint
1612testdata/Prelude.lc 138:88-138:101 1612testdata/Prelude.lc 138:92-138:100
1613 Type 1613 Type -> [RecItem] -> Constraint
1614testdata/Prelude.lc 138:95-138:96 1614testdata/Prelude.lc 138:92-138:102
1615 [RecItem] -> Constraint
1616testdata/Prelude.lc 138:92-138:105
1617 Constraint
1618testdata/Prelude.lc 138:99-138:100
1615 String 1619 String
1616testdata/Prelude.lc 138:97-138:98 1620testdata/Prelude.lc 138:101-138:102
1617 Type 1621 Type
1618testdata/Prelude.lc 138:99-138:101 1622testdata/Prelude.lc 138:103-138:105
1619 [RecItem] 1623 [RecItem]
1620testdata/Prelude.lc 138:105-138:115 1624testdata/Prelude.lc 138:110-138:120
1621 forall (a :: [RecItem]) . HList (map RecItem Type recItemType a) -> RecordC a 1625 forall (a :: [RecItem]) . HList (map RecItem Type recItemType a) -> RecordC a
1622testdata/Prelude.lc 138:105-138:180 1626testdata/Prelude.lc 138:110-138:185
1623 RecordC _b 1627 RecordC _b
1624testdata/Prelude.lc 138:117-138:123 1628testdata/Prelude.lc 138:122-138:128
1625 forall a (b :: [Type]) . HList (a : b) -> HList b 1629 forall a (b :: [Type]) . HList (a : b) -> HList b
1626testdata/Prelude.lc 138:117-138:179 1630testdata/Prelude.lc 138:122-138:184
1627 HList (map RecItem Type recItemType _h) 1631 HList (map RecItem Type recItemType _h)
1628testdata/Prelude.lc 138:125-138:137 1632testdata/Prelude.lc 138:130-138:142
1629 forall a b . a -> b 1633 forall a b . a -> b
1630testdata/Prelude.lc 138:125-138:140 1634testdata/Prelude.lc 138:130-138:145
1631 forall a . _a -> a 1635 forall a . _a -> a
1632testdata/Prelude.lc 138:125-138:175 1636testdata/Prelude.lc 138:130-138:180
1633 _a -> HList (_r : map RecItem Type recItemType _k) 1637 _a -> HList (_r : map RecItem Type recItemType _k)
1634testdata/Prelude.lc 138:125-138:178 1638testdata/Prelude.lc 138:130-138:183
1635 HList (_o : map RecItem Type recItemType _h) 1639 HList (_o : map RecItem Type recItemType _h)
1636testdata/Prelude.lc 138:143-138:148 1640testdata/Prelude.lc 138:148-138:153
1637 [Type] -> Type 1641 [Type] -> Type
1638testdata/Prelude.lc 138:143-138:174 1642testdata/Prelude.lc 138:148-138:179
1639 Type 1643 Type
1640testdata/Prelude.lc 138:151-138:152 1644testdata/Prelude.lc 138:156-138:157
1641 Type 1645 Type
1642testdata/Prelude.lc 138:151-138:154 1646testdata/Prelude.lc 138:156-138:159
1643 [Type] -> [Type] 1647 [Type] -> [Type]
1644testdata/Prelude.lc 138:151-138:173 1648testdata/Prelude.lc 138:156-138:178
1645 [Type] 1649 [Type]
1646testdata/Prelude.lc 138:153-138:154 1650testdata/Prelude.lc 138:158-138:159
1647 forall a . a -> [a] -> [a] 1651 forall a . a -> [a] -> [a]
1648testdata/Prelude.lc 138:155-138:158 1652testdata/Prelude.lc 138:160-138:163
1649 forall a b . (a -> b) -> [a] -> [b] 1653 forall a b . (a -> b) -> [a] -> [b]
1650testdata/Prelude.lc 138:155-138:170 1654testdata/Prelude.lc 138:160-138:175
1651 [RecItem] -> [Type] 1655 [RecItem] -> [Type]
1652testdata/Prelude.lc 138:155-138:173 1656testdata/Prelude.lc 138:160-138:178
1653 [Type] 1657 [Type]
1654testdata/Prelude.lc 138:159-138:170 1658testdata/Prelude.lc 138:164-138:175
1655 RecItem -> Type 1659 RecItem -> Type
1656testdata/Prelude.lc 138:171-138:173
1657 [RecItem]
1658testdata/Prelude.lc 138:176-138:178 1660testdata/Prelude.lc 138:176-138:178
1661 [RecItem]
1662testdata/Prelude.lc 138:181-138:183
1659 HList (map RecItem Type recItemType _e) 1663 HList (map RecItem Type recItemType _e)
1660testdata/Prelude.lc 142:1-142:4 1664testdata/Prelude.lc 142:1-142:4
1661 Float -> Float -> Float -> VecS Float 4 1665 Float -> Float -> Float -> VecS Float 4
@@ -3715,7 +3719,7 @@ Missing case(s):
3715 foldr1 _ [] 3719 foldr1 _ []
3716Uncovered pattern(s) at testdata/Prelude.lc:137:1: 3720Uncovered pattern(s) at testdata/Prelude.lc:137:1:
3717project @a @('RecItem s' a': xs) s @_ (RecordCons ts) | s == s' = fstTup (unsafeCoerce @_ @(HList '(a : map recItemType xs)) ts) 3721project @a @('RecItem s' a': xs) s @_ (RecordCons ts) | s == s' = fstTup (unsafeCoerce @_ @(HList '(a : map recItemType xs)) ts)
3718project @a @('RecItem s' a': xs) s @_ (RecordCons ts) = project @a @xs s @(undefined @(isKeyC s a xs)) (RecordCons (sndTup (unsafeCoerce @_ @(HList '(a : map recItemType xs)) ts))) 3722project @a @('RecItem s' a': xs) s @_ (RecordCons ts) = project @a @xs s @(undefined @(CW (isKeyC s a xs))) (RecordCons (sndTup (unsafeCoerce @_ @(HList '(a : map recItemType xs)) ts)))
3719Missing case(s): 3723Missing case(s):
3720 project _ [] _ _ _ 3724 project _ [] _ _ _
3721Uncovered pattern(s) at testdata/Prelude.lc:388:10: 3725Uncovered pattern(s) at testdata/Prelude.lc:388:10:
diff --git a/testdata/typeclass.out b/testdata/typeclass.out
index 8a79e832..3b2170e0 100644
--- a/testdata/typeclass.out
+++ b/testdata/typeclass.out
@@ -16,15 +16,15 @@ not = \(a :: _) -> case'Bool (\_ -> _) (_rhs True) (_rhs False) a
16 16
17(||) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs b) (_rhs True) a 17(||) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs b) (_rhs True) a
18 18
19'Eq :: Type -> Type 19'Eq :: Type -> Constraint
20'Eq 20'Eq
21 = \(a :: _) -> match'Bool 21 = \(a :: _) -> match'Bool
22 (\_ -> _) 22 (\_ -> _)
23 (_rhs 'Unit) 23 (_rhs 'CUnit)
24 a 24 a
25 (_rhs ('Empty "no instance of 'Eq on ???")) 25 (_rhs ('CEmpty "no instance of 'Eq on ???"))
26 26
27(==) :: forall a . Eq a => a -> a -> Bool 27(==) :: forall a . CW (Eq a) => a -> a -> Bool
28(==) 28(==)
29 = \ @a @_ -> match'Bool 29 = \ @a @_ -> match'Bool
30 (\_ -> _) 30 (\_ -> _)
@@ -50,7 +50,7 @@ not = \(a :: _) -> case'Bool (\_ -> _) (_rhs True) (_rhs False) a
50not :: Bool -> Bool 50not :: Bool -> Bool
51(&&) :: Bool -> Bool -> Bool 51(&&) :: Bool -> Bool -> Bool
52(||) :: Bool -> Bool -> Bool 52(||) :: Bool -> Bool -> Bool
53'Eq :: Type -> Type 53'Eq :: Type -> Constraint
54(==) :: forall a . Eq a => a -> a -> Bool 54(==) :: forall a . Eq a => a -> a -> Bool
55(/=) :: forall a . Eq a => a -> a -> Bool 55(/=) :: forall a . Eq a => a -> a -> Bool
56(==.) :: forall a b . [a] -> [b] -> Bool 56(==.) :: forall a b . [a] -> [b] -> Bool
@@ -80,7 +80,7 @@ testdata/typeclass.lc 14:14-15:17
80testdata/typeclass.lc 15:13-15:17 80testdata/typeclass.lc 15:13-15:17
81 Bool 81 Bool
82testdata/typeclass.lc 17:7-17:9 82testdata/typeclass.lc 17:7-17:9
83 Type -> Type | Type -> Type 83 Type -> Constraint | Type -> Constraint | Constraint
84testdata/typeclass.lc 17:7-18:27 84testdata/typeclass.lc 17:7-18:27
85 Type 85 Type
86testdata/typeclass.lc 18:6-18:8 86testdata/typeclass.lc 18:6-18:8
diff --git a/testdata/typesig.reject.out b/testdata/typesig.reject.out
index 3e0ba61d..e69bd9cc 100644
--- a/testdata/typesig.reject.out
+++ b/testdata/typesig.reject.out
@@ -1,6 +1,6 @@
1focus checkMetas: \(a :: Type) -> ((\b -> primFix a b) :: (a -> a) -> a) 1focus checkMetas: \(a :: Type) -> ((\b -> primFix a b) :: (a -> a) -> a)
2 let a = Type in \(c :: Type) -> <<HERE>> 2 let a = Type in \(c :: Type) -> <<HERE>>
3\(a :: Type ~ _a) (b :: _a ~ X) -> typeAnn _a (_rhs X) 3\(a :: CW (Type ~ _a)) (b :: CW (_a ~ X)) -> typeAnn _a (_rhs X)
4------------ trace 4------------ trace
5'X :: Type 5'X :: Type
6X :: X 6X :: X
@@ -8,7 +8,7 @@ case'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 -> primFix a b) :: (a -> a) -> a) 9!focus checkMetas: \(a :: Type) -> ((\b -> primFix a b) :: (a -> a) -> a)
10 let a = Type in \(c :: Type) -> <<HERE>> 10 let a = Type in \(c :: Type) -> <<HERE>>
11\(a :: Type ~ _a) (b :: _a ~ X) -> typeAnn _a (_rhs X) 11\(a :: CW (Type ~ _a)) (b :: CW (_a ~ X)) -> typeAnn _a (_rhs X)
12------------ tooltips 12------------ tooltips
13testdata/typesig.reject.lc 4:6-4:7 13testdata/typesig.reject.lc 4:6-4:7
14 Type | Type | Type | Type | Type 14 Type | Type | Type | Type | Type
diff --git a/testdata/typesigctx.reject.out b/testdata/typesigctx.reject.out
index 631b9a16..5be24987 100644
--- a/testdata/typesigctx.reject.out
+++ b/testdata/typesigctx.reject.out
@@ -5,8 +5,8 @@ in Wildcard2 builtin 'Type
5X :: X 5X :: X
6case'X :: 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 -> Constraint
9show' :: forall a . Show' a => a -> X 9show' :: forall a . Empty "no instance of 'Show' on ???" => a -> X
10!type error: no instance of 'Show' on ??? 10!type error: no instance of 'Show' on ???
11in Wildcard2 builtin 'Type 11in Wildcard2 builtin 'Type
12------------ tooltips 12------------ tooltips
@@ -17,11 +17,11 @@ testdata/typesigctx.reject.lc 1:6-1:11
17testdata/typesigctx.reject.lc 1:10-1:11 17testdata/typesigctx.reject.lc 1:10-1:11
18 X 18 X
19testdata/typesigctx.reject.lc 3:7-3:12 19testdata/typesigctx.reject.lc 3:7-3:12
20 Type -> Type | Type -> Type 20 Type -> Constraint | Type -> Constraint | Constraint
21testdata/typesigctx.reject.lc 3:7-3:36 21testdata/typesigctx.reject.lc 3:7-3:36
22 Type 22 Type
23testdata/typesigctx.reject.lc 3:21-3:26 23testdata/typesigctx.reject.lc 3:21-3:26
24 forall a . Show' a => a -> X 24 forall a . Empty "no instance of 'Show' on ???" => a -> X
25testdata/typesigctx.reject.lc 3:30-3:31 25testdata/typesigctx.reject.lc 3:30-3:31
26 Type 26 Type
27testdata/typesigctx.reject.lc 3:30-3:36 27testdata/typesigctx.reject.lc 3:30-3:36
@@ -31,4 +31,4 @@ testdata/typesigctx.reject.lc 3:35-3:36
31testdata/typesigctx.reject.lc 5:11-5:12 31testdata/typesigctx.reject.lc 5:11-5:12
32 Type 32 Type
33testdata/typesigctx.reject.lc 6:10-6:15 33testdata/typesigctx.reject.lc 6:10-6:15
34 forall a . Show' a => a -> X \ No newline at end of file 34 forall a . Empty "no instance of 'Show' on ???" => a -> X \ No newline at end of file