summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-05-03 16:40:30 +0200
committerPéter Diviánszky <divipp@gmail.com>2016-05-03 16:40:30 +0200
commitf468a49a43193caffe92cdd48a52a699880e14ef (patch)
tree255c8b454e9a75d05397468b849b8f5b032a878a /testdata
parentfa47957b930c53d78d2da0bcb948e2fbff11f59d (diff)
refactoring
Diffstat (limited to 'testdata')
-rw-r--r--testdata/Builtins.out209
-rw-r--r--testdata/Internals.out52
-rw-r--r--testdata/Material.out46
-rw-r--r--testdata/Prelude.out196
-rw-r--r--testdata/SampleMaterial.out2
-rw-r--r--testdata/ambig.out2
-rw-r--r--testdata/complex.out16
-rw-r--r--testdata/data.out10
-rw-r--r--testdata/empty.out2
-rw-r--r--testdata/id.out2
-rw-r--r--testdata/instantiate.out2
-rw-r--r--testdata/language-features/basic-list/list01.out4
-rw-r--r--testdata/language-features/basic-list/list02.out4
-rw-r--r--testdata/language-features/basic-list/list08.out2
-rw-r--r--testdata/language-features/basic-list/list09.out2
-rw-r--r--testdata/language-features/basic-list/list11.out2
-rw-r--r--testdata/language-features/basic-list/list12.out2
-rw-r--r--testdata/language-features/basic-list/list13.out2
-rw-r--r--testdata/language-features/basic-list/listcomp01.out2
-rw-r--r--testdata/language-features/basic-list/listcomp02.out3
-rw-r--r--testdata/language-features/basic-list/listcomp03.out2
-rw-r--r--testdata/language-features/basic-list/listcomp04.out3
-rw-r--r--testdata/language-features/basic-list/listcomp05.out2
-rw-r--r--testdata/language-features/basic-list/listcomp06.out3
-rw-r--r--testdata/language-features/basic-list/listcomp07.out4
-rw-r--r--testdata/language-features/basic-list/listcomp09.out2
-rw-r--r--testdata/language-features/basic-values/bool01.out3
-rw-r--r--testdata/language-features/basic-values/case01.out7
-rw-r--r--testdata/language-features/basic-values/case02.out3
-rw-r--r--testdata/language-features/basic-values/case05.out2
-rw-r--r--testdata/language-features/basic-values/case06.out2
-rw-r--r--testdata/language-features/basic-values/data01.out4
-rw-r--r--testdata/language-features/basic-values/def01.out4
-rw-r--r--testdata/language-features/basic-values/def03.out2
-rw-r--r--testdata/language-features/basic-values/def04.out3
-rw-r--r--testdata/language-features/basic-values/deforder01.out3
-rw-r--r--testdata/language-features/basic-values/deforder02.out3
-rw-r--r--testdata/language-features/basic-values/deforder03.out2
-rw-r--r--testdata/language-features/basic-values/deforder04.out2
-rw-r--r--testdata/language-features/basic-values/deforder05.out2
-rw-r--r--testdata/language-features/basic-values/deforder06.out2
-rw-r--r--testdata/language-features/basic-values/fixity01.out9
-rw-r--r--testdata/language-features/basic-values/fixity02.out25
-rw-r--r--testdata/language-features/basic-values/if01.out3
-rw-r--r--testdata/language-features/basic-values/indentation01.out3
-rw-r--r--testdata/language-features/basic-values/indentation02.out3
-rw-r--r--testdata/language-features/basic-values/infix01.out3
-rw-r--r--testdata/language-features/basic-values/infix02.out3
-rw-r--r--testdata/language-features/basic-values/infix03.out4
-rw-r--r--testdata/language-features/basic-values/lambda01.out5
-rw-r--r--testdata/language-features/basic-values/lambda03.out3
-rw-r--r--testdata/language-features/basic-values/let01.out6
-rw-r--r--testdata/language-features/basic-values/let02.out2
-rw-r--r--testdata/language-features/basic-values/literal01.out9
-rw-r--r--testdata/language-features/basic-values/operator01.out5
-rw-r--r--testdata/language-features/basic-values/operator05.out2
-rw-r--r--testdata/language-features/basic-values/operator06.out2
-rw-r--r--testdata/language-features/basic-values/shadowing01.out2
-rw-r--r--testdata/language-features/basic-values/shadowing02.out4
-rw-r--r--testdata/language-features/basic-values/shadowing03.out2
-rw-r--r--testdata/language-features/basic-values/shadowing04.out2
-rw-r--r--testdata/language-features/basic-values/tuple01.out2
-rw-r--r--testdata/language-features/basic-values/tuple02.out4
-rw-r--r--testdata/language-features/basic-values/typesig01.out3
-rw-r--r--testdata/language-features/basic-values/typesig02.out3
-rw-r--r--testdata/language-features/basic-values/typesig03.out3
-rw-r--r--testdata/language-features/basic-values/typesig04.out3
-rw-r--r--testdata/language-features/basic-values/typesig05.out7
-rw-r--r--testdata/language-features/basic-values/typesig06.out5
-rw-r--r--testdata/language-features/basic-values/typesig07.out7
-rw-r--r--testdata/language-features/basic-values/typesyn01.out2
-rw-r--r--testdata/language-features/basic-values/typesyn02.out3
-rw-r--r--testdata/language-features/basic-values/where01.out12
-rw-r--r--testdata/language-features/basic-values/where04.out4
-rw-r--r--testdata/language-features/basic-values/where05.out5
-rw-r--r--testdata/language-features/basic-values/wildcard01.out2
-rw-r--r--testdata/language-features/comment/comment01.out2
-rw-r--r--testdata/language-features/comment/comment02.out2
-rw-r--r--testdata/language-features/comment/comment03.out2
-rw-r--r--testdata/language-features/comment/comment04.out2
-rw-r--r--testdata/language-features/emptysource.out2
-rw-r--r--testdata/language-features/guard/guard01.out2
-rw-r--r--testdata/language-features/guard/guard03.out2
-rw-r--r--testdata/language-features/guard/guard04.out2
-rw-r--r--testdata/language-features/guard/guard06.out2
-rw-r--r--testdata/language-features/guard/guard07.out2
-rw-r--r--testdata/language-features/guard/guard08.out2
-rw-r--r--testdata/language-features/guard/guard09.out2
-rw-r--r--testdata/language-features/guard/guard11.out2
-rw-r--r--testdata/language-features/guard/guard13.out2
-rw-r--r--testdata/language-features/guard/guard14.out2
-rw-r--r--testdata/language-features/guard/guard15.out2
-rw-r--r--testdata/language-features/guard/guard16.out2
-rw-r--r--testdata/language-features/module/Hello01.out3
-rw-r--r--testdata/language-features/module/Hello02.out3
-rw-r--r--testdata/language-features/module/Hello03.out3
-rw-r--r--testdata/language-features/module/ModulePackage/SubModule01.out2
-rw-r--r--testdata/language-features/module/Moduledef01.out2
-rw-r--r--testdata/language-features/module/Moduledef06.out2
-rw-r--r--testdata/language-features/module/Moduledef07.out2
-rw-r--r--testdata/language-features/module/Moduledef08.out2
-rw-r--r--testdata/language-features/module/Moduledef09.out3
-rw-r--r--testdata/language-features/module/Moduledef10.out4
-rw-r--r--testdata/language-features/module/Moduledef13.out2
-rw-r--r--testdata/language-features/module/TypeSyn01Mod.out2
-rw-r--r--testdata/language-features/module/import01.out2
-rw-r--r--testdata/language-features/module/import05.out2
-rw-r--r--testdata/language-features/module/import06.out3
-rw-r--r--testdata/language-features/module/import07.out3
-rw-r--r--testdata/language-features/module/import08.out5
-rw-r--r--testdata/language-features/module/import09.out2
-rw-r--r--testdata/language-features/module/import12.out2
-rw-r--r--testdata/language-features/module/import13.out2
-rw-r--r--testdata/language-features/module/import14.out2
-rw-r--r--testdata/language-features/module/import15.out2
-rw-r--r--testdata/language-features/pattern/pattern01.out5
-rw-r--r--testdata/language-features/pattern/uncovered.out4
-rw-r--r--testdata/language-features/pattern/unreachable.out2
-rw-r--r--testdata/language-features/pragma/pragma01.out2
-rw-r--r--testdata/language-features/pragma/pragma02.out2
-rw-r--r--testdata/language-features/pragma/pragma03.out2
-rw-r--r--testdata/language-features/pragma/pragma04.out2
-rw-r--r--testdata/language-features/recursion/simplerec01.out2
-rw-r--r--testdata/language-features/recursion/simplerec02.out2
-rw-r--r--testdata/language-features/recursion/simplerec03.out2
-rw-r--r--testdata/language-features/section/section01.out4
-rw-r--r--testdata/let.out2
-rw-r--r--testdata/letIndent.out2
-rw-r--r--testdata/performance/Material.out46
-rw-r--r--testdata/performance/SampleMaterial.out2
-rw-r--r--testdata/qualified.out2
-rw-r--r--testdata/traceTest.out4
-rw-r--r--testdata/typeclass.out12
-rw-r--r--testdata/where.out2
-rw-r--r--testdata/zip01.out2
135 files changed, 841 insertions, 135 deletions
diff --git a/testdata/Builtins.out b/testdata/Builtins.out
index ffe2badf..7087ba31 100644
--- a/testdata/Builtins.out
+++ b/testdata/Builtins.out
@@ -1,9 +1,12 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2id = \(a :: _) -> _rhs a 3id = \(a :: _) -> _rhs a
4
3data VecS (_ :: Type) :: Nat -> Type where 5data VecS (_ :: Type) :: Nat -> Type where
4 V2 :: forall a . a -> a -> VecS a (fromInt 2) 6 V2 :: forall a . a -> a -> VecS a (fromInt 2)
5 V3 :: forall b . b -> b -> b -> VecS b (fromInt 3) 7 V3 :: forall b . b -> b -> b -> VecS b (fromInt 3)
6 V4 :: forall c . c -> c -> c -> c -> VecS c (fromInt 4) 8 V4 :: forall c . c -> c -> c -> c -> VecS c (fromInt 4)
9
7mapVec :: forall (a :: _) (b :: _) (c :: _) . (a -> b) -> VecS a c -> VecS b c 10mapVec :: forall (a :: _) (b :: _) (c :: _) . (a -> b) -> VecS a c -> VecS b c
8mapVec 11mapVec
9 = \(a :: _) (b :: _) -> case'VecS 12 = \(a :: _) (b :: _) -> case'VecS
@@ -12,8 +15,10 @@ mapVec
12 (\(e :: _) (f :: _) (g :: _) -> _rhs (V3 (a e) (a f) (a g))) 15 (\(e :: _) (f :: _) (g :: _) -> _rhs (V3 (a e) (a f) (a g)))
13 (\(h :: _) (i :: _) (j :: _) (k :: _) -> _rhs (V4 (a h) (a i) (a j) (a k))) 16 (\(h :: _) (i :: _) (j :: _) (k :: _) -> _rhs (V4 (a h) (a i) (a j) (a k)))
14 b 17 b
18
15'Vec :: Nat -> Type -> Type 19'Vec :: Nat -> Type -> Type
16'Vec = \(a :: _) (b :: _) -> _rhs ('VecS b a) 20'Vec = \(a :: _) (b :: _) -> _rhs ('VecS b a)
21
17'VecScalar :: Nat -> Type -> Type 22'VecScalar :: Nat -> Type -> Type
18'VecScalar 23'VecScalar
19 = \(a :: _) (b :: _) -> case'Nat 24 = \(a :: _) (b :: _) -> case'Nat
@@ -25,6 +30,7 @@ mapVec
25 (\(d :: _) -> _rhs ('Vec (Succ (Succ d)) b)) 30 (\(d :: _) -> _rhs ('Vec (Succ (Succ d)) b))
26 c) 31 c)
27 a 32 a
33
28data Mat :: Nat -> Nat -> Type -> Type where 34data Mat :: Nat -> Nat -> Type -> Type where
29 M22F 35 M22F
30 :: Vec (fromInt 2) Float 36 :: Vec (fromInt 2) Float
@@ -62,6 +68,7 @@ data Mat :: Nat -> Nat -> Type -> Type where
62 -> Vec (fromInt 4) Float 68 -> Vec (fromInt 4) Float
63 -> Vec (fromInt 4) Float 69 -> Vec (fromInt 4) Float
64 -> Vec (fromInt 4) Float -> Mat (fromInt 4) (fromInt 4) Float 70 -> Vec (fromInt 4) Float -> Mat (fromInt 4) (fromInt 4) Float
71
65'MatVecScalarElem :: Type -> Type 72'MatVecScalarElem :: Type -> Type
66'MatVecScalarElem 73'MatVecScalarElem
67 = \(a :: _) -> match'Float 74 = \(a :: _) -> match'Float
@@ -81,6 +88,7 @@ data Mat :: Nat -> Nat -> Type -> Type where
81 (\(b :: _) _ -> _rhs b) 88 (\(b :: _) _ -> _rhs b)
82 a 89 a
83 (match'Mat (\_ -> _) (\_ _ (c :: _) -> _rhs c) a undefined)))) 90 (match'Mat (\_ -> _) (\_ _ (c :: _) -> _rhs c) a undefined))))
91
84'Signed :: Type -> Type 92'Signed :: Type -> Type
85'Signed 93'Signed
86 = \(a :: _) -> match'Int 94 = \(a :: _) -> match'Int
@@ -92,6 +100,7 @@ data Mat :: Nat -> Nat -> Type -> Type where
92 (_rhs 'Unit) 100 (_rhs 'Unit)
93 a 101 a
94 (_rhs ('Empty "no instance of 'Signed on ???"))) 102 (_rhs ('Empty "no instance of 'Signed on ???")))
103
95'Component :: Type -> Type 104'Component :: Type -> Type
96'Component 105'Component
97 = \(a :: _) -> match'Int 106 = \(a :: _) -> match'Int
@@ -163,6 +172,7 @@ data Mat :: Nat -> Nat -> Type -> Type where
163 (_rhs 'Unit) 172 (_rhs 'Unit)
164 a 173 a
165 (_rhs ('Empty "no instance of 'Component on ???")))))) 174 (_rhs ('Empty "no instance of 'Component on ???"))))))
175
166zero :: forall a . Component a => a 176zero :: forall a . Component a => a
167zero 177zero
168 = \ @a @_ -> match'Int 178 = \ @a @_ -> match'Int
@@ -230,6 +240,7 @@ zero
230 (_rhs undefined))) 240 (_rhs undefined)))
231 a 241 a
232 (match'Bool (\_ -> _) (_rhs \(u := _rhs False) -> u) a (_rhs undefined))))) 242 (match'Bool (\_ -> _) (_rhs \(u := _rhs False) -> u) a (_rhs undefined)))))
243
233one :: forall a . Component a => a 244one :: forall a . Component a => a
234one 245one
235 = \ @a @_ -> match'Int 246 = \ @a @_ -> match'Int
@@ -297,6 +308,7 @@ one
297 (_rhs undefined))) 308 (_rhs undefined)))
298 a 309 a
299 (match'Bool (\_ -> _) (_rhs \(u := _rhs True) -> u) a (_rhs undefined))))) 310 (match'Bool (\_ -> _) (_rhs \(u := _rhs True) -> u) a (_rhs undefined)))))
311
300'Integral :: Type -> Type 312'Integral :: Type -> Type
301'Integral 313'Integral
302 = \(a :: _) -> match'Int 314 = \(a :: _) -> match'Int
@@ -308,6 +320,7 @@ one
308 (_rhs 'Unit) 320 (_rhs 'Unit)
309 a 321 a
310 (_rhs ('Empty "no instance of 'Integral on ???"))) 322 (_rhs ('Empty "no instance of 'Integral on ???")))
323
311'Floating :: Type -> Type 324'Floating :: Type -> Type
312'Floating 325'Floating
313 = \(a :: _) -> match'Float 326 = \(a :: _) -> match'Float
@@ -463,282 +476,422 @@ one
463 h) 476 h)
464 a 477 a
465 (_rhs ('Empty "no instance of 'Floating on ???")))) 478 (_rhs ('Empty "no instance of 'Floating on ???"))))
479
466PrimAdd :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a 480PrimAdd :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a
481
467PrimSub :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a 482PrimSub :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a
483
468PrimMul :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a 484PrimMul :: forall (a :: _) . Num (MatVecScalarElem a) => a -> a -> a
485
469PrimAddS 486PrimAddS
470 :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b 487 :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b
488
471PrimSubS 489PrimSubS
472 :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b 490 :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b
491
473PrimMulS 492PrimMulS
474 :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b 493 :: forall (a :: _) (b :: _) . (a ~ MatVecScalarElem b, Num a) => b -> a -> b
494
475PrimDiv 495PrimDiv
476 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b 496 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b
497
477PrimMod 498PrimMod
478 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b 499 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b
500
479PrimDivS 501PrimDivS
480 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b 502 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b
503
481PrimModS 504PrimModS
482 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b 505 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b
506
483PrimNeg :: forall (a :: _) . Signed (MatVecScalarElem a) => a -> a 507PrimNeg :: forall (a :: _) . Signed (MatVecScalarElem a) => a -> a
508
484PrimBAnd 509PrimBAnd
485 :: forall (a :: _) (b :: _) (c :: _) 510 :: forall (a :: _) (b :: _) (c :: _)
486 . (Integral a, b ~ VecScalar c a) => b -> b -> b 511 . (Integral a, b ~ VecScalar c a) => b -> b -> b
512
487PrimBOr 513PrimBOr
488 :: forall (a :: _) (b :: _) (c :: _) 514 :: forall (a :: _) (b :: _) (c :: _)
489 . (Integral a, b ~ VecScalar c a) => b -> b -> b 515 . (Integral a, b ~ VecScalar c a) => b -> b -> b
516
490PrimBXor 517PrimBXor
491 :: forall (a :: _) (b :: _) (c :: _) 518 :: forall (a :: _) (b :: _) (c :: _)
492 . (Integral a, b ~ VecScalar c a) => b -> b -> b 519 . (Integral a, b ~ VecScalar c a) => b -> b -> b
520
493PrimBAndS 521PrimBAndS
494 :: forall (a :: _) (b :: _) (c :: _) 522 :: forall (a :: _) (b :: _) (c :: _)
495 . (Integral a, b ~ VecScalar c a) => b -> a -> b 523 . (Integral a, b ~ VecScalar c a) => b -> a -> b
524
496PrimBOrS 525PrimBOrS
497 :: forall (a :: _) (b :: _) (c :: _) 526 :: forall (a :: _) (b :: _) (c :: _)
498 . (Integral a, b ~ VecScalar c a) => b -> a -> b 527 . (Integral a, b ~ VecScalar c a) => b -> a -> b
528
499PrimBXorS 529PrimBXorS
500 :: forall (a :: _) (b :: _) (c :: _) 530 :: forall (a :: _) (b :: _) (c :: _)
501 . (Integral a, b ~ VecScalar c a) => b -> a -> b 531 . (Integral a, b ~ VecScalar c a) => b -> a -> b
532
502PrimBNot 533PrimBNot
503 :: forall (a :: _) (b :: _) (c :: _) . (Integral a, b ~ VecScalar c a) => b -> b 534 :: forall (a :: _) (b :: _) (c :: _) . (Integral a, b ~ VecScalar c a) => b -> b
535
504PrimBShiftL 536PrimBShiftL
505 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 537 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
506 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b 538 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b
539
507PrimBShiftR 540PrimBShiftR
508 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 541 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
509 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b 542 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b
543
510PrimBShiftLS 544PrimBShiftLS
511 :: forall (a :: _) (b :: _) (c :: _) 545 :: forall (a :: _) (b :: _) (c :: _)
512 . (Integral a, b ~ VecScalar c a) => b -> Word -> b 546 . (Integral a, b ~ VecScalar c a) => b -> Word -> b
547
513PrimBShiftRS 548PrimBShiftRS
514 :: forall (a :: _) (b :: _) (c :: _) 549 :: forall (a :: _) (b :: _) (c :: _)
515 . (Integral a, b ~ VecScalar c a) => b -> Word -> b 550 . (Integral a, b ~ VecScalar c a) => b -> Word -> b
551
516PrimAnd :: Bool -> Bool -> Bool 552PrimAnd :: Bool -> Bool -> Bool
553
517PrimOr :: Bool -> Bool -> Bool 554PrimOr :: Bool -> Bool -> Bool
555
518PrimXor :: Bool -> Bool -> Bool 556PrimXor :: Bool -> Bool -> Bool
557
519PrimNot :: forall (a :: _) (b :: _) . (a ~ VecScalar b Bool) => a -> a 558PrimNot :: forall (a :: _) (b :: _) . (a ~ VecScalar b Bool) => a -> a
559
520PrimAny :: forall (a :: _) . VecScalar a Bool -> Bool 560PrimAny :: forall (a :: _) . VecScalar a Bool -> Bool
561
521PrimAll :: forall (a :: _) . VecScalar a Bool -> Bool 562PrimAll :: forall (a :: _) . VecScalar a Bool -> Bool
563
522PrimACos :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 564PrimACos :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
565
523PrimACosH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 566PrimACosH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
567
524PrimASin :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 568PrimASin :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
569
525PrimASinH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 570PrimASinH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
571
526PrimATan :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 572PrimATan :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
573
527PrimATanH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 574PrimATanH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
575
528PrimCos :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 576PrimCos :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
577
529PrimCosH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 578PrimCosH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
579
530PrimDegrees :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 580PrimDegrees :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
581
531PrimRadians :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 582PrimRadians :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
583
532PrimSin :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 584PrimSin :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
585
533PrimSinH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 586PrimSinH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
587
534PrimTan :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 588PrimTan :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
589
535PrimTanH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 590PrimTanH :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
591
536PrimExp :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 592PrimExp :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
593
537PrimLog :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 594PrimLog :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
595
538PrimExp2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 596PrimExp2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
597
539PrimLog2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 598PrimLog2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
599
540PrimSqrt :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 600PrimSqrt :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
601
541PrimInvSqrt :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 602PrimInvSqrt :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
603
542PrimPow :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a 604PrimPow :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a
605
543PrimATan2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a 606PrimATan2 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a
607
544PrimFloor :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 608PrimFloor :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
609
545PrimTrunc :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 610PrimTrunc :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
611
546PrimRound :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 612PrimRound :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
613
547PrimRoundEven :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 614PrimRoundEven :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
615
548PrimCeil :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 616PrimCeil :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
617
549PrimFract :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 618PrimFract :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
619
550PrimMin 620PrimMin
551 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b 621 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b
622
552PrimMax 623PrimMax
553 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b 624 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> b -> b
625
554PrimMinS 626PrimMinS
555 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b 627 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b
628
556PrimMaxS 629PrimMaxS
557 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b 630 :: forall (a :: _) (b :: _) (c :: _) . (Num a, b ~ VecScalar c a) => b -> a -> b
631
558PrimIsNan 632PrimIsNan
559 :: forall (a :: _) (b :: _) (c :: _) 633 :: forall (a :: _) (b :: _) (c :: _)
560 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c 634 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c
635
561PrimIsInf 636PrimIsInf
562 :: forall (a :: _) (b :: _) (c :: _) 637 :: forall (a :: _) (b :: _) (c :: _)
563 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c 638 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c
639
564PrimAbs 640PrimAbs
565 :: forall (a :: _) (b :: _) (c :: _) . (Signed a, b ~ VecScalar c a) => b -> b 641 :: forall (a :: _) (b :: _) (c :: _) . (Signed a, b ~ VecScalar c a) => b -> b
642
566PrimSign 643PrimSign
567 :: forall (a :: _) (b :: _) (c :: _) . (Signed a, b ~ VecScalar c a) => b -> b 644 :: forall (a :: _) (b :: _) (c :: _) . (Signed a, b ~ VecScalar c a) => b -> b
645
568PrimModF 646PrimModF
569 :: forall (a :: _) (b :: _) 647 :: forall (a :: _) (b :: _)
570 . (a ~ VecScalar b Float) => a -> HList (a : a : '[]) 648 . (a ~ VecScalar b Float) => a -> HList (a : a : '[])
649
571PrimClamp 650PrimClamp
572 :: forall (a :: _) (b :: _) (c :: _) 651 :: forall (a :: _) (b :: _) (c :: _)
573 . (Num a, b ~ VecScalar c a) => b -> b -> b -> b 652 . (Num a, b ~ VecScalar c a) => b -> b -> b -> b
653
574PrimClampS 654PrimClampS
575 :: forall (a :: _) (b :: _) (c :: _) 655 :: forall (a :: _) (b :: _) (c :: _)
576 . (Num a, b ~ VecScalar c a) => b -> a -> a -> b 656 . (Num a, b ~ VecScalar c a) => b -> a -> a -> b
657
577PrimMix 658PrimMix
578 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a 659 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a
660
579PrimMixS 661PrimMixS
580 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float -> a 662 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float -> a
663
581PrimMixB 664PrimMixB
582 :: forall (a :: _) (b :: _) (c :: _) 665 :: forall (a :: _) (b :: _) (c :: _)
583 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a 666 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a
667
584PrimStep :: forall (a :: _) (b :: _) . (a ~ Vec b Float) => a -> a -> a 668PrimStep :: forall (a :: _) (b :: _) . (a ~ Vec b Float) => a -> a -> a
669
585PrimStepS 670PrimStepS
586 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => Float -> a -> a 671 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => Float -> a -> a
672
587PrimSmoothStep 673PrimSmoothStep
588 :: forall (a :: _) (b :: _) . (a ~ Vec b Float) => a -> a -> a -> a 674 :: forall (a :: _) (b :: _) . (a ~ Vec b Float) => a -> a -> a -> a
675
589PrimSmoothStepS 676PrimSmoothStepS
590 :: forall (a :: _) (b :: _) 677 :: forall (a :: _) (b :: _)
591 . (a ~ VecScalar b Float) => Float -> Float -> a -> a 678 . (a ~ VecScalar b Float) => Float -> Float -> a -> a
679
592PrimFloatBitsToInt :: forall (a :: _) . VecScalar a Float -> VecScalar a Int 680PrimFloatBitsToInt :: forall (a :: _) . VecScalar a Float -> VecScalar a Int
681
593PrimFloatBitsToUInt :: forall (a :: _) . VecScalar a Float -> VecScalar a Word 682PrimFloatBitsToUInt :: forall (a :: _) . VecScalar a Float -> VecScalar a Word
683
594PrimIntBitsToFloat :: forall (a :: _) . VecScalar a Int -> VecScalar a Float 684PrimIntBitsToFloat :: forall (a :: _) . VecScalar a Int -> VecScalar a Float
685
595PrimUIntBitsToFloat :: forall (a :: _) . VecScalar a Word -> VecScalar a Float 686PrimUIntBitsToFloat :: forall (a :: _) . VecScalar a Word -> VecScalar a Float
687
596PrimLength :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> Float 688PrimLength :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> Float
689
597PrimDistance 690PrimDistance
598 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float 691 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float
692
599PrimDot :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float 693PrimDot :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> Float
694
600PrimCross :: forall (a :: _) . (a ~ VecScalar (fromInt 3) Float) => a -> a -> a 695PrimCross :: forall (a :: _) . (a ~ VecScalar (fromInt 3) Float) => a -> a -> a
696
601PrimNormalize :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 697PrimNormalize :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
698
602PrimFaceForward 699PrimFaceForward
603 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a 700 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a
701
604PrimRefract 702PrimRefract
605 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a 703 :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a -> a
704
606PrimReflect :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a 705PrimReflect :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a -> a
706
607PrimTranspose :: forall (a :: _) (b :: _) (c :: _) . Mat a b c -> Mat b a c 707PrimTranspose :: forall (a :: _) (b :: _) (c :: _) . Mat a b c -> Mat b a c
708
608PrimDeterminant :: forall (a :: _) (b :: _) . Mat a a b -> Float 709PrimDeterminant :: forall (a :: _) (b :: _) . Mat a a b -> Float
710
609PrimInverse :: forall (a :: _) (b :: _) . Mat a a b -> Mat a a b 711PrimInverse :: forall (a :: _) (b :: _) . Mat a a b -> Mat a a b
712
610PrimOuterProduct 713PrimOuterProduct
611 :: forall (a :: _) (b :: _) (c :: _) . Vec a b -> Vec c b -> Mat c a b 714 :: forall (a :: _) (b :: _) (c :: _) . Vec a b -> Vec c b -> Mat c a b
715
612PrimMulMatVec 716PrimMulMatVec
613 :: forall (a :: _) (b :: _) (c :: _) . Mat a b c -> Vec b c -> Vec a c 717 :: forall (a :: _) (b :: _) (c :: _) . Mat a b c -> Vec b c -> Vec a c
718
614PrimMulVecMat 719PrimMulVecMat
615 :: forall (a :: _) (b :: _) (c :: _) . Vec a b -> Mat a c b -> Vec c b 720 :: forall (a :: _) (b :: _) (c :: _) . Vec a b -> Mat a c b -> Vec c b
721
616PrimMulMatMat 722PrimMulMatMat
617 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 723 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
618 . Mat a b c -> Mat b d c -> Mat a d c 724 . Mat a b c -> Mat b d c -> Mat a d c
725
619PrimLessThan 726PrimLessThan
620 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 727 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
621 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 728 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
729
622PrimLessThanEqual 730PrimLessThanEqual
623 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 731 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
624 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 732 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
733
625PrimGreaterThan 734PrimGreaterThan
626 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 735 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
627 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 736 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
737
628PrimGreaterThanEqual 738PrimGreaterThanEqual
629 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 739 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
630 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 740 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
741
631PrimEqualV 742PrimEqualV
632 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 743 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
633 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 744 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
745
634PrimNotEqualV 746PrimNotEqualV
635 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 747 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
636 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d 748 . (Num c, a ~ VecScalar b c, d ~ VecScalar b Bool) => a -> a -> d
749
637PrimEqual 750PrimEqual
638 :: forall (a :: _) (b :: _) . (b ~ MatVecScalarElem a) => a -> a -> Bool 751 :: forall (a :: _) (b :: _) . (b ~ MatVecScalarElem a) => a -> a -> Bool
752
639PrimNotEqual 753PrimNotEqual
640 :: forall (a :: _) (b :: _) . (b ~ MatVecScalarElem a) => a -> a -> Bool 754 :: forall (a :: _) (b :: _) . (b ~ MatVecScalarElem a) => a -> a -> Bool
755
641PrimDFdx :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 756PrimDFdx :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
757
642PrimDFdy :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 758PrimDFdy :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
759
643PrimFWidth :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a 760PrimFWidth :: forall (a :: _) (b :: _) . (a ~ VecScalar b Float) => a -> a
761
644PrimNoise1 :: forall (a :: _) . VecScalar a Float -> Float 762PrimNoise1 :: forall (a :: _) . VecScalar a Float -> Float
763
645PrimNoise2 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 2) Float 764PrimNoise2 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 2) Float
765
646PrimNoise3 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 3) Float 766PrimNoise3 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 3) Float
767
647PrimNoise4 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 4) Float 768PrimNoise4 :: forall (a :: _) . VecScalar a Float -> Vec (fromInt 4) Float
769
648head 770head
649 = \(a :: _) -> case'List (\_ -> _) (_rhs undefined) (\(b :: _) _ -> _rhs b) a 771 = \(a :: _) -> case'List (\_ -> _) (_rhs undefined) (\(b :: _) _ -> _rhs b) a
772
650(++) 773(++)
651 = \(a :: _) (b :: _) -> case'List 774 = \(a :: _) (b :: _) -> case'List
652 (\_ -> _) 775 (\_ -> _)
653 (_rhs b) 776 (_rhs b)
654 (\(c :: _) (d :: _) -> _rhs (c : d ++ b)) 777 (\(c :: _) (d :: _) -> _rhs (c : d ++ b))
655 a 778 a
779
656foldr 780foldr
657 = \(a :: _) (b :: _) (c :: _) -> case'List 781 = \(a :: _) (b :: _) (c :: _) -> case'List
658 (\_ -> _) 782 (\_ -> _)
659 (_rhs b) 783 (_rhs b)
660 (\(d :: _) (e :: _) -> _rhs (a d (foldr a b e))) 784 (\(d :: _) (e :: _) -> _rhs (a d (foldr a b e)))
661 c 785 c
786
662concat = _rhs (foldr (++) []) 787concat = _rhs (foldr (++) [])
788
663map 789map
664 = \(a :: _) (b :: _) -> case'List 790 = \(a :: _) (b :: _) -> case'List
665 (\_ -> _) 791 (\_ -> _)
666 (_rhs []) 792 (_rhs [])
667 (\(c :: _) (d :: _) -> _rhs (a c : map a d)) 793 (\(c :: _) (d :: _) -> _rhs (a c : map a d))
668 b 794 b
795
669concatMap :: forall (a :: _) (b :: _) . (a -> [b]) -> [a] -> [b] 796concatMap :: forall (a :: _) (b :: _) . (a -> [b]) -> [a] -> [b]
670concatMap = \(a :: _) (b :: _) -> _rhs (concat (map a b)) 797concatMap = \(a :: _) (b :: _) -> _rhs (concat (map a b))
798
671len 799len
672 = \(a :: _) -> case'List 800 = \(a :: _) -> case'List
673 (\_ -> _) 801 (\_ -> _)
674 (_rhs (fromInt 0)) 802 (_rhs (fromInt 0))
675 (\_ (b :: _) -> _rhs (fromInt 1 `primAddInt` len b)) 803 (\_ (b :: _) -> _rhs (fromInt 1 `primAddInt` len b))
676 a 804 a
805
677data Maybe (_ :: Type) :: Type where 806data Maybe (_ :: Type) :: Type where
678 Nothing :: forall a . Maybe a 807 Nothing :: forall a . Maybe a
679 Just :: forall b . b -> Maybe b 808 Just :: forall b . b -> Maybe b
809
680data Vector (_ :: Nat) (_ :: Type) :: Type where 810data Vector (_ :: Nat) (_ :: Type) :: Type where
681 811
812
682data PrimitiveType :: Type where 813data PrimitiveType :: Type where
683 Triangle :: PrimitiveType 814 Triangle :: PrimitiveType
684 Line :: PrimitiveType 815 Line :: PrimitiveType
685 Point :: PrimitiveType 816 Point :: PrimitiveType
686 TriangleAdjacency :: PrimitiveType 817 TriangleAdjacency :: PrimitiveType
687 LineAdjacency :: PrimitiveType 818 LineAdjacency :: PrimitiveType
819
688data Primitive (_ :: Type) :: PrimitiveType -> Type where 820data Primitive (_ :: Type) :: PrimitiveType -> Type where
689 PrimPoint :: forall a . a -> Primitive a Point 821 PrimPoint :: forall a . a -> Primitive a Point
690 PrimLine :: forall b . b -> b -> Primitive b Line 822 PrimLine :: forall b . b -> b -> Primitive b Line
691 PrimTriangle :: forall c . c -> c -> c -> Primitive c Triangle 823 PrimTriangle :: forall c . c -> c -> c -> Primitive c Triangle
824
692mapPrimitive 825mapPrimitive
693 :: forall (a :: _) (b :: _) (c :: _) 826 :: forall (a :: _) (b :: _) (c :: _)
694 . (a -> b) -> Primitive a c -> Primitive b c 827 . (a -> b) -> Primitive a c -> Primitive b c
828
695'PrimitiveStream = \(a :: _) (b :: _) -> _rhs ['Primitive b a] 829'PrimitiveStream = \(a :: _) (b :: _) -> _rhs ['Primitive b a]
830
696mapPrimitives 831mapPrimitives
697 :: forall (a :: _) (b :: _) (c :: _) 832 :: forall (a :: _) (b :: _) (c :: _)
698 . (a -> b) -> PrimitiveStream c a -> PrimitiveStream c b 833 . (a -> b) -> PrimitiveStream c a -> PrimitiveStream c b
699mapPrimitives = \(a :: _) -> _rhs (map (mapPrimitive a)) 834mapPrimitives = \(a :: _) -> _rhs (map (mapPrimitive a))
835
700'ListElem :: Type -> Type 836'ListElem :: Type -> Type
701'ListElem = \(a :: _) -> match'List (\_ -> _) (\(b :: _) -> _rhs b) a undefined 837'ListElem = \(a :: _) -> match'List (\_ -> _) (\(b :: _) -> _rhs b) a undefined
838
702fetchArrays 839fetchArrays
703 :: forall (a :: _) (b :: _) (c :: _) 840 :: forall (a :: _) (b :: _) (c :: _)
704 . (b ~ map ListElem c) => HList c -> PrimitiveStream a (HList b) 841 . (b ~ map ListElem c) => HList c -> PrimitiveStream a (HList b)
842
705fetch 843fetch
706 :: forall (a :: _) (b :: _) . String -> HList b -> PrimitiveStream a (HList b) 844 :: forall (a :: _) (b :: _) . String -> HList b -> PrimitiveStream a (HList b)
845
707Attribute :: forall (a :: _) . String -> a 846Attribute :: forall (a :: _) . String -> a
847
708fetchStream 848fetchStream
709 :: forall (a :: _) (b :: [Type]) 849 :: forall (a :: _) (b :: [Type])
710 . String 850 . String
711 -> forall (c :: [String]) -> (len c ~ len b) => PrimitiveStream a (HList b) 851 -> forall (c :: [String]) -> (len c ~ len b) => PrimitiveStream a (HList b)
852
712data SimpleFragment (_ :: Type) :: Type where 853data SimpleFragment (_ :: Type) :: Type where
713 SimpleFragment :: forall a . Vec (fromInt 3) Float -> a -> SimpleFragment a 854 SimpleFragment :: forall a . Vec (fromInt 3) Float -> a -> SimpleFragment a
855
714'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b))) 856'Fragment = \(a :: _) (b :: _) -> _rhs ('Vector a ('Maybe ('SimpleFragment b)))
857
715sFragmentCoords 858sFragmentCoords
716 = \(a :: _) -> case'SimpleFragment (\_ -> _) (\(b :: _) _ -> _rhs b) a 859 = \(a :: _) -> case'SimpleFragment (\_ -> _) (\(b :: _) _ -> _rhs b) a
860
717sFragmentValue 861sFragmentValue
718 = \(a :: _) -> case'SimpleFragment (\_ -> _) (\_ (b :: _) -> _rhs b) a 862 = \(a :: _) -> case'SimpleFragment (\_ -> _) (\_ (b :: _) -> _rhs b) a
863
719'FragmentStream = \(a :: _) (b :: _) -> _rhs ['Fragment a b] 864'FragmentStream = \(a :: _) (b :: _) -> _rhs ['Fragment a b]
865
720customizeDepth 866customizeDepth
721 :: forall (a :: _) (b :: _) . (a -> Float) -> Fragment b a -> Fragment b a 867 :: forall (a :: _) (b :: _) . (a -> Float) -> Fragment b a -> Fragment b a
868
722customizeDepths 869customizeDepths
723 :: forall (a :: _) (b :: _) 870 :: forall (a :: _) (b :: _)
724 . (a -> Float) -> FragmentStream b a -> FragmentStream b a 871 . (a -> Float) -> FragmentStream b a -> FragmentStream b a
725customizeDepths = \(a :: _) -> _rhs (map (customizeDepth a)) 872customizeDepths = \(a :: _) -> _rhs (map (customizeDepth a))
873
726filterFragment 874filterFragment
727 :: forall (a :: _) (b :: _) . (a -> Bool) -> Fragment b a -> Fragment b a 875 :: forall (a :: _) (b :: _) . (a -> Bool) -> Fragment b a -> Fragment b a
876
728filterFragments 877filterFragments
729 :: forall (a :: _) (b :: _) 878 :: forall (a :: _) (b :: _)
730 . (a -> Bool) -> FragmentStream b a -> FragmentStream b a 879 . (a -> Bool) -> FragmentStream b a -> FragmentStream b a
731filterFragments = \(a :: _) -> _rhs (map (filterFragment a)) 880filterFragments = \(a :: _) -> _rhs (map (filterFragment a))
881
732mapFragment 882mapFragment
733 :: forall (a :: _) (b :: _) (c :: _) . (a -> b) -> Fragment c a -> Fragment c b 883 :: forall (a :: _) (b :: _) (c :: _) . (a -> b) -> Fragment c a -> Fragment c b
884
734mapFragments 885mapFragments
735 :: forall (a :: _) (b :: _) (c :: _) 886 :: forall (a :: _) (b :: _) (c :: _)
736 . (a -> b) -> FragmentStream c a -> FragmentStream c b 887 . (a -> b) -> FragmentStream c a -> FragmentStream c b
737mapFragments = \(a :: _) -> _rhs (map (mapFragment a)) 888mapFragments = \(a :: _) -> _rhs (map (mapFragment a))
889
738data ImageKind :: Type where 890data ImageKind :: Type where
739 Color :: Type -> ImageKind 891 Color :: Type -> ImageKind
740 Depth :: ImageKind 892 Depth :: ImageKind
741 Stencil :: ImageKind 893 Stencil :: ImageKind
894
742imageType :: ImageKind -> Type 895imageType :: ImageKind -> Type
743imageType 896imageType
744 = \(a :: _) -> case'ImageKind 897 = \(a :: _) -> case'ImageKind
@@ -747,20 +900,28 @@ imageType
747 (_rhs 'Float) 900 (_rhs 'Float)
748 (_rhs 'Int) 901 (_rhs 'Int)
749 a 902 a
903
750data Image (_ :: Nat) (_ :: ImageKind) :: Type where 904data Image (_ :: Nat) (_ :: ImageKind) :: Type where
751 905
906
752ColorImage 907ColorImage
753 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 908 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
754 . (Num c, d ~ VecScalar b c) => d -> Image a (Color d) 909 . (Num c, d ~ VecScalar b c) => d -> Image a (Color d)
910
755DepthImage :: forall (a :: _) . Float -> Image a Depth 911DepthImage :: forall (a :: _) . Float -> Image a Depth
912
756StencilImage :: forall (a :: _) . Int -> Image a Stencil 913StencilImage :: forall (a :: _) . Int -> Image a Stencil
914
757emptyDepthImage = _rhs (DepthImage @(fromInt 1)) 915emptyDepthImage = _rhs (DepthImage @(fromInt 1))
916
758emptyColorImage = _rhs (ColorImage @(fromInt 1)) 917emptyColorImage = _rhs (ColorImage @(fromInt 1))
918
759data Swizz :: Type where 919data Swizz :: Type where
760 Sx :: Swizz 920 Sx :: Swizz
761 Sy :: Swizz 921 Sy :: Swizz
762 Sz :: Swizz 922 Sz :: Swizz
763 Sw :: Swizz 923 Sw :: Swizz
924
764swizzscalar :: forall (a :: _) (b :: _) . Vec b a -> Swizz -> a 925swizzscalar :: forall (a :: _) (b :: _) . Vec b a -> Swizz -> a
765swizzscalar 926swizzscalar
766 = \(a :: _) (b :: _) -> case'VecS 927 = \(a :: _) (b :: _) -> case'VecS
@@ -787,6 +948,7 @@ swizzscalar
787 (_rhs k) 948 (_rhs k)
788 b) 949 b)
789 a 950 a
951
790definedVec :: forall (a :: _) (b :: _) . Vec b a -> Bool 952definedVec :: forall (a :: _) (b :: _) . Vec b a -> Bool
791definedVec 953definedVec
792 = \(a :: _) -> case'VecS 954 = \(a :: _) -> case'VecS
@@ -795,6 +957,7 @@ definedVec
795 (\_ _ _ -> _rhs True) 957 (\_ _ _ -> _rhs True)
796 (\_ _ _ _ -> _rhs True) 958 (\_ _ _ _ -> _rhs True)
797 a 959 a
960
798swizzvector 961swizzvector
799 :: forall (a :: _) (b :: _) (c :: _) . Vec b a -> Vec c Swizz -> Vec c a 962 :: forall (a :: _) (b :: _) (c :: _) . Vec b a -> Vec c Swizz -> Vec c a
800swizzvector 963swizzvector
@@ -803,6 +966,7 @@ swizzvector
803 (_rhs undefined) 966 (_rhs undefined)
804 (_rhs (mapVec (swizzscalar a) b)) 967 (_rhs (mapVec (swizzscalar a) b))
805 (definedVec a) 968 (definedVec a)
969
806data BlendingFactor :: Type where 970data BlendingFactor :: Type where
807 ZeroBF :: BlendingFactor 971 ZeroBF :: BlendingFactor
808 OneBF :: BlendingFactor 972 OneBF :: BlendingFactor
@@ -819,12 +983,14 @@ data BlendingFactor :: Type where
819 ConstantAlpha :: BlendingFactor 983 ConstantAlpha :: BlendingFactor
820 OneMinusConstantAlpha :: BlendingFactor 984 OneMinusConstantAlpha :: BlendingFactor
821 SrcAlphaSaturate :: BlendingFactor 985 SrcAlphaSaturate :: BlendingFactor
986
822data BlendEquation :: Type where 987data BlendEquation :: Type where
823 FuncAdd :: BlendEquation 988 FuncAdd :: BlendEquation
824 FuncSubtract :: BlendEquation 989 FuncSubtract :: BlendEquation
825 FuncReverseSubtract :: BlendEquation 990 FuncReverseSubtract :: BlendEquation
826 Min :: BlendEquation 991 Min :: BlendEquation
827 Max :: BlendEquation 992 Max :: BlendEquation
993
828data LogicOperation :: Type where 994data LogicOperation :: Type where
829 Clear :: LogicOperation 995 Clear :: LogicOperation
830 And :: LogicOperation 996 And :: LogicOperation
@@ -842,6 +1008,7 @@ data LogicOperation :: Type where
842 OrInverted :: LogicOperation 1008 OrInverted :: LogicOperation
843 Nand :: LogicOperation 1009 Nand :: LogicOperation
844 Set :: LogicOperation 1010 Set :: LogicOperation
1011
845data StencilOperation :: Type where 1012data StencilOperation :: Type where
846 OpZero :: StencilOperation 1013 OpZero :: StencilOperation
847 OpKeep :: StencilOperation 1014 OpKeep :: StencilOperation
@@ -851,6 +1018,7 @@ data StencilOperation :: Type where
851 OpDecr :: StencilOperation 1018 OpDecr :: StencilOperation
852 OpDecrWrap :: StencilOperation 1019 OpDecrWrap :: StencilOperation
853 OpInvert :: StencilOperation 1020 OpInvert :: StencilOperation
1021
854data ComparisonFunction :: Type where 1022data ComparisonFunction :: Type where
855 Never :: ComparisonFunction 1023 Never :: ComparisonFunction
856 Less :: ComparisonFunction 1024 Less :: ComparisonFunction
@@ -860,28 +1028,37 @@ data ComparisonFunction :: Type where
860 Notequal :: ComparisonFunction 1028 Notequal :: ComparisonFunction
861 Gequal :: ComparisonFunction 1029 Gequal :: ComparisonFunction
862 Always :: ComparisonFunction 1030 Always :: ComparisonFunction
1031
863data ProvokingVertex :: Type where 1032data ProvokingVertex :: Type where
864 LastVertex :: ProvokingVertex 1033 LastVertex :: ProvokingVertex
865 FirstVertex :: ProvokingVertex 1034 FirstVertex :: ProvokingVertex
1035
866data CullMode :: Type where 1036data CullMode :: Type where
867 CullFront :: CullMode 1037 CullFront :: CullMode
868 CullBack :: CullMode 1038 CullBack :: CullMode
869 CullNone :: CullMode 1039 CullNone :: CullMode
1040
870data PointSize (_ :: Type) :: Type where 1041data PointSize (_ :: Type) :: Type where
871 PointSize :: forall a . Float -> PointSize a 1042 PointSize :: forall a . Float -> PointSize a
872 ProgramPointSize :: forall b . (b -> Float) -> PointSize b 1043 ProgramPointSize :: forall b . (b -> Float) -> PointSize b
1044
873data PolygonMode (_ :: Type) :: Type where 1045data PolygonMode (_ :: Type) :: Type where
874 PolygonFill :: forall a . PolygonMode a 1046 PolygonFill :: forall a . PolygonMode a
875 PolygonPoint :: forall b . PointSize b -> PolygonMode b 1047 PolygonPoint :: forall b . PointSize b -> PolygonMode b
876 PolygonLine :: forall c . Float -> PolygonMode c 1048 PolygonLine :: forall c . Float -> PolygonMode c
1049
877data PolygonOffset :: Type where 1050data PolygonOffset :: Type where
878 NoOffset :: PolygonOffset 1051 NoOffset :: PolygonOffset
879 Offset :: Float -> Float -> PolygonOffset 1052 Offset :: Float -> Float -> PolygonOffset
1053
880data PointSpriteCoordOrigin :: Type where 1054data PointSpriteCoordOrigin :: Type where
881 LowerLeft :: PointSpriteCoordOrigin 1055 LowerLeft :: PointSpriteCoordOrigin
882 UpperLeft :: PointSpriteCoordOrigin 1056 UpperLeft :: PointSpriteCoordOrigin
1057
883primTexture :: HList '[] -> Vec (fromInt 2) Float -> Vec (fromInt 4) Float 1058primTexture :: HList '[] -> Vec (fromInt 2) Float -> Vec (fromInt 4) Float
1059
884Uniform :: forall (a :: _) . String -> a 1060Uniform :: forall (a :: _) . String -> a
1061
885data RasterContext (_ :: Type) :: PrimitiveType -> Type where 1062data RasterContext (_ :: Type) :: PrimitiveType -> Type where
886 TriangleCtx 1063 TriangleCtx
887 :: forall a 1064 :: forall a
@@ -891,6 +1068,7 @@ data RasterContext (_ :: Type) :: PrimitiveType -> Type where
891 :: forall b 1068 :: forall b
892 . PointSize b -> Float -> PointSpriteCoordOrigin -> RasterContext b Point 1069 . PointSize b -> Float -> PointSpriteCoordOrigin -> RasterContext b Point
893 LineCtx :: forall c . Float -> ProvokingVertex -> RasterContext c Line 1070 LineCtx :: forall c . Float -> ProvokingVertex -> RasterContext c Line
1071
894data Blending :: Type -> Type where 1072data Blending :: Type -> Type where
895 NoBlending :: forall (a :: _) . Blending a 1073 NoBlending :: forall (a :: _) . Blending a
896 BlendLogicOp :: forall (b :: _) . Integral b => LogicOperation -> Blending b 1074 BlendLogicOp :: forall (b :: _) . Integral b => LogicOperation -> Blending b
@@ -900,10 +1078,13 @@ data Blending :: Type -> Type where
900 (HList (BlendingFactor : BlendingFactor : '[]) 1078 (HList (BlendingFactor : BlendingFactor : '[])
901 : HList (BlendingFactor : BlendingFactor : '[]) : '[]) 1079 : HList (BlendingFactor : BlendingFactor : '[]) : '[])
902 -> Vec (fromInt 4) Float -> Blending Float 1080 -> Vec (fromInt 4) Float -> Blending Float
1081
903data StencilTests :: Type where 1082data StencilTests :: Type where
904 1083
1084
905data StencilOps :: Type where 1085data StencilOps :: Type where
906 1086
1087
907data FragmentOperation :: ImageKind -> Type where 1088data FragmentOperation :: ImageKind -> Type where
908 ColorOp 1089 ColorOp
909 :: forall (a :: _) (b :: _) 1090 :: forall (a :: _) (b :: _)
@@ -912,21 +1093,26 @@ data FragmentOperation :: ImageKind -> Type where
912 DepthOp :: ComparisonFunction -> Bool -> FragmentOperation Depth 1093 DepthOp :: ComparisonFunction -> Bool -> FragmentOperation Depth
913 StencilOp 1094 StencilOp
914 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation Stencil 1095 :: StencilTests -> StencilOps -> StencilOps -> FragmentOperation Stencil
1096
915data Interpolated (_ :: Type) :: Type where 1097data Interpolated (_ :: Type) :: Type where
916 Smooth :: forall a . Floating a => Interpolated a 1098 Smooth :: forall a . Floating a => Interpolated a
917 NoPerspective :: forall b . Floating b => Interpolated b 1099 NoPerspective :: forall b . Floating b => Interpolated b
918 Flat :: forall c . Interpolated c 1100 Flat :: forall c . Interpolated c
1101
919rasterizePrimitive 1102rasterizePrimitive
920 :: forall (a :: _) (b :: _) (c :: _) (d :: _) 1103 :: forall (a :: _) (b :: _) (c :: _) (d :: _)
921 . (map Interpolated a ~ b, c ~ Vec (fromInt 4) Float : a) 1104 . (map Interpolated a ~ b, c ~ Vec (fromInt 4) Float : a)
922 => HList b 1105 => HList b
923 -> RasterContext (HList c) d 1106 -> RasterContext (HList c) d
924 -> Primitive (HList c) d -> FragmentStream (fromInt 1) (HList a) 1107 -> Primitive (HList c) d -> FragmentStream (fromInt 1) (HList a)
1108
925rasterizePrimitives 1109rasterizePrimitives
926 = \(a :: _) (b :: _) (c :: _) -> _rhs (concat (map (rasterizePrimitive b a) c)) 1110 = \(a :: _) (b :: _) (c :: _) -> _rhs (concat (map (rasterizePrimitive b a) c))
1111
927'ImageLC :: Type -> Nat 1112'ImageLC :: Type -> Nat
928'ImageLC 1113'ImageLC
929 = \(a :: _) -> match'Image (\_ -> _) (\(b :: _) _ -> _rhs b) a undefined 1114 = \(a :: _) -> match'Image (\_ -> _) (\(b :: _) _ -> _rhs b) a undefined
1115
930allSame :: forall (a :: _) . [a] -> Type 1116allSame :: forall (a :: _) . [a] -> Type
931allSame 1117allSame
932 = \(a :: _) -> case'List 1118 = \(a :: _) -> case'List
@@ -938,9 +1124,12 @@ allSame
938 (\(d :: _) (e :: _) -> _rhs ('T2 (b `'EqCTt` d) (allSame (d : e)))) 1124 (\(d :: _) (e :: _) -> _rhs ('T2 (b `'EqCTt` d) (allSame (d : e))))
939 c) 1125 c)
940 a 1126 a
1127
941sameLayerCounts = \(a :: _) -> _rhs (allSame (map 'ImageLC a)) 1128sameLayerCounts = \(a :: _) -> _rhs (allSame (map 'ImageLC a))
1129
942data FrameBuffer (_ :: Nat) (_ :: [ImageKind]) :: Type where 1130data FrameBuffer (_ :: Nat) (_ :: [ImageKind]) :: Type where
943 1131
1132
944imageType' :: [ImageKind] -> [Type] 1133imageType' :: [ImageKind] -> [Type]
945imageType' 1134imageType'
946 = \(a :: _) -> case'List 1135 = \(a :: _) -> case'List
@@ -953,6 +1142,7 @@ imageType'
953 (_rhs (map imageType a)) 1142 (_rhs (map imageType a))
954 b) 1143 b)
955 a 1144 a
1145
956'FragmentOperationKind :: Type -> ImageKind 1146'FragmentOperationKind :: Type -> ImageKind
957'FragmentOperationKind 1147'FragmentOperationKind
958 = \(a :: _) -> match'FragmentOperation 1148 = \(a :: _) -> match'FragmentOperation
@@ -960,12 +1150,15 @@ imageType'
960 (\(b :: _) -> _rhs b) 1150 (\(b :: _) -> _rhs b)
961 a 1151 a
962 undefined 1152 undefined
1153
963Accumulate 1154Accumulate
964 :: forall (a :: _) (b :: Nat) (c :: [Type]) 1155 :: forall (a :: _) (b :: Nat) (c :: [Type])
965 . (a ~ map FragmentOperationKind c) 1156 . (a ~ map FragmentOperationKind c)
966 => HList c 1157 => HList c
967 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a 1158 -> FragmentStream b (HList (imageType' a)) -> FrameBuffer b a -> FrameBuffer b a
1159
968accumulateWith = \(a :: _) (b :: _) -> _rhs (HCons a (HCons b HNil)) 1160accumulateWith = \(a :: _) (b :: _) -> _rhs (HCons a (HCons b HNil))
1161
969overlay 1162overlay
970 = \(a :: _) (b :: _) -> hlistConsCase 1163 = \(a :: _) (b :: _) -> hlistConsCase
971 _ 1164 _
@@ -974,43 +1167,57 @@ overlay
974 (\(e :: _) (f :: _) -> hlistNilCase _ (_rhs (Accumulate c e a)) f) 1167 (\(e :: _) (f :: _) -> hlistNilCase _ (_rhs (Accumulate c e a)) f)
975 d) 1168 d)
976 b 1169 b
1170
977infixl 0 overlay 1171infixl 0 overlay
1172
978'GetImageKind :: Type -> ImageKind 1173'GetImageKind :: Type -> ImageKind
979'GetImageKind 1174'GetImageKind
980 = \(a :: _) -> match'Image (\_ -> _) (\_ (b :: _) -> _rhs b) a undefined 1175 = \(a :: _) -> match'Image (\_ -> _) (\_ (b :: _) -> _rhs b) a undefined
1176
981FrameBuffer 1177FrameBuffer
982 :: forall (a :: [Type]) 1178 :: forall (a :: [Type])
983 . sameLayerCounts a 1179 . sameLayerCounts a
984 => HList a -> FrameBuffer (ImageLC (head a)) (map GetImageKind a) 1180 => HList a -> FrameBuffer (ImageLC (head a)) (map GetImageKind a)
1181
985imageFrame = _rhs FrameBuffer 1182imageFrame = _rhs FrameBuffer
1183
986accumulate 1184accumulate
987 = \(a :: _) (b :: _) (c :: _) (d :: _) -> _rhs 1185 = \(a :: _) (b :: _) (c :: _) (d :: _) -> _rhs
988 (Accumulate a (mapFragments b c) d) 1186 (Accumulate a (mapFragments b c) d)
1187
989PrjImage 1188PrjImage
990 :: forall (a :: _) . FrameBuffer (fromInt 1) (a : '[]) -> Image (fromInt 1) a 1189 :: forall (a :: _) . FrameBuffer (fromInt 1) (a : '[]) -> Image (fromInt 1) a
1190
991PrjImageColor 1191PrjImageColor
992 :: FrameBuffer (fromInt 1) ('Depth : 'Color (Vec (fromInt 4) Float) : '[]) 1192 :: FrameBuffer (fromInt 1) ('Depth : 'Color (Vec (fromInt 4) Float) : '[])
993 -> Image (fromInt 1) (Color (Vec (fromInt 4) Float)) 1193 -> Image (fromInt 1) (Color (Vec (fromInt 4) Float))
1194
994data Output :: Type where 1195data Output :: Type where
995 ScreenOut :: forall (a :: _) (b :: _) . FrameBuffer a b -> Output 1196 ScreenOut :: forall (a :: _) (b :: _) . FrameBuffer a b -> Output
1197
996renderFrame = _rhs ScreenOut 1198renderFrame = _rhs ScreenOut
1199
997data Texture :: Type where 1200data Texture :: Type where
998 Texture2DSlot :: String -> Texture 1201 Texture2DSlot :: String -> Texture
999 Texture2D 1202 Texture2D
1000 :: Vec (fromInt 2) Int 1203 :: Vec (fromInt 2) Int
1001 -> Image (fromInt 1) (Color (Vec (fromInt 4) Float)) -> Texture 1204 -> Image (fromInt 1) (Color (Vec (fromInt 4) Float)) -> Texture
1205
1002data Filter :: Type where 1206data Filter :: Type where
1003 PointFilter :: Filter 1207 PointFilter :: Filter
1004 LinearFilter :: Filter 1208 LinearFilter :: Filter
1209
1005data EdgeMode :: Type where 1210data EdgeMode :: Type where
1006 Repeat :: EdgeMode 1211 Repeat :: EdgeMode
1007 MirroredRepeat :: EdgeMode 1212 MirroredRepeat :: EdgeMode
1008 ClampToEdge :: EdgeMode 1213 ClampToEdge :: EdgeMode
1214
1009data Sampler :: Type where 1215data Sampler :: Type where
1010 Sampler :: Filter -> EdgeMode -> Texture -> Sampler 1216 Sampler :: Filter -> EdgeMode -> Texture -> Sampler
1217
1011texture2D :: Sampler -> Vec (fromInt 2) Float -> Vec (fromInt 4) Float 1218texture2D :: Sampler -> Vec (fromInt 2) Float -> Vec (fromInt 4) Float
1219
1012accumulationContext = \(a :: _) -> _rhs a 1220accumulationContext = \(a :: _) -> _rhs a
1013main is not found
1014------------ trace 1221------------ trace
1015id :: forall a . a -> a 1222id :: forall a . a -> a
1016'VecS :: Type -> Nat -> Type 1223'VecS :: Type -> Nat -> Type
diff --git a/testdata/Internals.out b/testdata/Internals.out
index b3eac04a..22ff0f64 100644
--- a/testdata/Internals.out
+++ b/testdata/Internals.out
@@ -1,60 +1,100 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2typeAnn = \(a :: _) -> _rhs a 3typeAnn = \(a :: _) -> _rhs a
4
3parens = \(a :: _) -> _rhs a 5parens = \(a :: _) -> _rhs a
6
4undefined :: forall a . a 7undefined :: forall a . a
8
5primFix :: forall a . (a -> a) -> a 9primFix :: forall a . (a -> a) -> a
10
6data Unit :: Type where 11data Unit :: Type where
7 TT :: Unit 12 TT :: Unit
13
8data String :: Type where 14data String :: Type where
9 15
16
10data Empty (_ :: String) :: Type where 17data Empty (_ :: String) :: Type where
11 18
19
12unsafeCoerce :: forall (a :: _) (b :: _) . a -> b 20unsafeCoerce :: forall (a :: _) (b :: _) . a -> b
21
13'EqCT :: forall a -> a -> a -> Type 22'EqCT :: forall a -> a -> a -> Type
23
14parEval :: forall (a :: _) -> a -> a -> a 24parEval :: forall (a :: _) -> a -> a -> a
25
15'T2 :: Type -> Type -> Type 26'T2 :: Type -> Type -> Type
27
16match'Type :: forall (a :: Type -> Type) -> a Type -> forall b -> a b -> a b 28match'Type :: forall (a :: Type -> Type) -> a Type -> forall b -> a b -> a b
29
17'EqCTt = _rhs ('EqCT (_ :: _)) 30'EqCTt = _rhs ('EqCT (_ :: _))
31
18t2C :: Unit -> Unit -> Unit 32t2C :: Unit -> Unit -> Unit
33
19data Int :: Type where 34data Int :: Type where
20 35
36
21data Word :: Type where 37data Word :: Type where
22 38
39
23data Float :: Type where 40data Float :: Type where
24 41
42
25data Char :: Type where 43data Char :: Type where
26 44
45
27data Bool :: Type where 46data Bool :: Type where
28 False :: Bool 47 False :: Bool
29 True :: Bool 48 True :: Bool
49
30data Ordering :: Type where 50data Ordering :: Type where
31 LT :: Ordering 51 LT :: Ordering
32 EQ :: Ordering 52 EQ :: Ordering
33 GT :: Ordering 53 GT :: Ordering
54
34data Nat :: Type where 55data Nat :: Type where
35 Zero :: Nat 56 Zero :: Nat
36 Succ :: Nat -> Nat 57 Succ :: Nat -> Nat
58
37primIntToWord :: Int -> Word 59primIntToWord :: Int -> Word
60
38primIntToFloat :: Int -> Float 61primIntToFloat :: Int -> Float
62
39primIntToNat :: Int -> Nat 63primIntToNat :: Int -> Nat
64
40primCompareInt :: Int -> Int -> Ordering 65primCompareInt :: Int -> Int -> Ordering
66
41primCompareWord :: Word -> Word -> Ordering 67primCompareWord :: Word -> Word -> Ordering
68
42primCompareFloat :: Float -> Float -> Ordering 69primCompareFloat :: Float -> Float -> Ordering
70
43primCompareChar :: Char -> Char -> Ordering 71primCompareChar :: Char -> Char -> Ordering
72
44primCompareString :: String -> String -> Ordering 73primCompareString :: String -> String -> Ordering
74
45primNegateInt :: Int -> Int 75primNegateInt :: Int -> Int
76
46primNegateWord :: Word -> Word 77primNegateWord :: Word -> Word
78
47primNegateFloat :: Float -> Float 79primNegateFloat :: Float -> Float
80
48primAddInt :: Int -> Int -> Int 81primAddInt :: Int -> Int -> Int
82
49primSubInt :: Int -> Int -> Int 83primSubInt :: Int -> Int -> Int
84
50primModInt :: Int -> Int -> Int 85primModInt :: Int -> Int -> Int
86
51primSqrtFloat :: Float -> Float 87primSqrtFloat :: Float -> Float
88
52primRound :: Float -> Int 89primRound :: Float -> Int
90
53primIfThenElse :: forall (a :: _) . Bool -> a -> a -> a 91primIfThenElse :: forall (a :: _) . Bool -> a -> a -> a
54primIfThenElse 92primIfThenElse
55 = \(a :: _) (b :: _) (c :: _) -> case'Bool (\_ -> _) (_rhs c) (_rhs b) a 93 = \(a :: _) (b :: _) (c :: _) -> case'Bool (\_ -> _) (_rhs c) (_rhs b) a
94
56isEQ 95isEQ
57 = \(a :: _) -> case'Ordering (\_ -> _) (_rhs False) (_rhs True) (_rhs False) a 96 = \(a :: _) -> case'Ordering (\_ -> _) (_rhs False) (_rhs True) (_rhs False) a
97
58'Num :: Type -> Type 98'Num :: Type -> Type
59'Num 99'Num
60 = \(a :: _) -> match'Int 100 = \(a :: _) -> match'Int
@@ -74,6 +114,7 @@ isEQ
74 (_rhs 'Unit) 114 (_rhs 'Unit)
75 a 115 a
76 (_rhs ('Empty "no instance of 'Num on ???"))))) 116 (_rhs ('Empty "no instance of 'Num on ???")))))
117
77fromInt :: forall a . Num a => Int -> a 118fromInt :: forall a . Num a => Int -> a
78fromInt 119fromInt
79 = \ @a @_ -> match'Int 120 = \ @a @_ -> match'Int
@@ -89,6 +130,7 @@ fromInt
89 (_rhs \(e := _rhs primIntToFloat) -> e) 130 (_rhs \(e := _rhs primIntToFloat) -> e)
90 a 131 a
91 (match'Nat (\_ -> _) (_rhs \(f := _rhs primIntToNat) -> f) a (_rhs undefined)))) 132 (match'Nat (\_ -> _) (_rhs \(f := _rhs primIntToNat) -> f) a (_rhs undefined))))
133
92compare :: forall a . Num a => a -> a -> Ordering 134compare :: forall a . Num a => a -> a -> Ordering
93compare 135compare
94 = \ @a @_ -> match'Int 136 = \ @a @_ -> match'Int
@@ -104,6 +146,7 @@ compare
104 (_rhs \(d := _rhs primCompareFloat) -> d) 146 (_rhs \(d := _rhs primCompareFloat) -> d)
105 a 147 a
106 (match'Nat (\_ -> _) (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined)))) 148 (match'Nat (\_ -> _) (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined))))
149
107negate :: forall a . Num a => a -> a 150negate :: forall a . Num a => a -> a
108negate 151negate
109 = \ @a @_ -> match'Int 152 = \ @a @_ -> match'Int
@@ -119,6 +162,7 @@ negate
119 (_rhs \(d := _rhs primNegateFloat) -> d) 162 (_rhs \(d := _rhs primNegateFloat) -> d)
120 a 163 a
121 (match'Nat (\_ -> _) (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined)))) 164 (match'Nat (\_ -> _) (_rhs \(e := _rhs undefined) -> e) a (_rhs undefined))))
165
122'Eq :: Type -> Type 166'Eq :: Type -> Type
123'Eq 167'Eq
124 = \(a :: _) -> match'String 168 = \(a :: _) -> match'String
@@ -146,6 +190,7 @@ negate
146 (_rhs 'Unit) 190 (_rhs 'Unit)
147 a 191 a
148 (_rhs ('Empty "no instance of 'Eq on ???"))))))) 192 (_rhs ('Empty "no instance of 'Eq on ???")))))))
193
149(==) :: forall a . Eq a => a -> a -> Bool 194(==) :: forall a . Eq a => a -> a -> Bool
150(==) 195(==)
151 = \ @a @_ -> match'String 196 = \ @a @_ -> match'String
@@ -185,19 +230,24 @@ negate
185 r) -> q) 230 r) -> q)
186 a 231 a
187 (_rhs undefined)))))) 232 (_rhs undefined))))))
233
188infix 4 == 234infix 4 ==
235
189data List (_ :: Type) :: Type where 236data List (_ :: Type) :: Type where
190 [] :: forall a . [a] 237 [] :: forall a . [a]
191 (:) :: forall b . b -> [b] -> [b] 238 (:) :: forall b . b -> [b] -> [b]
239
192infixr 5 : 240infixr 5 :
241
193data HList :: [Type] -> Type where 242data HList :: [Type] -> Type where
194 HNil :: HList '[] 243 HNil :: HList '[]
195 HCons :: forall (a :: _) (b :: _) . a -> HList b -> HList (a : b) 244 HCons :: forall (a :: _) (b :: _) . a -> HList b -> HList (a : b)
245
196hlistNilCase :: forall (a :: _) -> a -> HList [] -> a 246hlistNilCase :: forall (a :: _) -> a -> HList [] -> a
247
197hlistConsCase 248hlistConsCase
198 :: forall a (b :: [Type]) 249 :: forall a (b :: [Type])
199 . forall (c :: _) -> (a -> HList b -> c) -> HList (a : b) -> c 250 . forall (c :: _) -> (a -> HList b -> c) -> HList (a : b) -> c
200main is not found
201------------ trace 251------------ trace
202typeAnn :: forall a . a -> a 252typeAnn :: forall a . a -> a
203parens :: forall a . a -> a 253parens :: forall a . a -> a
diff --git a/testdata/Material.out b/testdata/Material.out
index 360c8021..27c646fd 100644
--- a/testdata/Material.out
+++ b/testdata/Material.out
@@ -1,16 +1,23 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2identityLight :: Float 3identityLight :: Float
3identityLight = _rhs (fromInt 1) 4identityLight = _rhs (fromInt 1)
5
4data Entity :: Type where 6data Entity :: Type where
5 Entity 7 Entity
6 :: Vec (fromInt 4) Float 8 :: Vec (fromInt 4) Float
7 -> Vec (fromInt 4) Float 9 -> Vec (fromInt 4) Float
8 -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity 10 -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity
11
9eAmbientLight = \(a :: _) -> case'Entity (\_ -> _) (\(b :: _) _ _ _ -> _rhs b) a 12eAmbientLight = \(a :: _) -> case'Entity (\_ -> _) (\(b :: _) _ _ _ -> _rhs b) a
13
10eDirectedLight 14eDirectedLight
11 = \(a :: _) -> case'Entity (\_ -> _) (\_ (b :: _) _ _ -> _rhs b) a 15 = \(a :: _) -> case'Entity (\_ -> _) (\_ (b :: _) _ _ -> _rhs b) a
16
12eLightDir = \(a :: _) -> case'Entity (\_ -> _) (\_ _ (b :: _) _ -> _rhs b) a 17eLightDir = \(a :: _) -> case'Entity (\_ -> _) (\_ _ (b :: _) _ -> _rhs b) a
18
13eShaderRGBA = \(a :: _) -> case'Entity (\_ -> _) (\_ _ _ (b :: _) -> _rhs b) a 19eShaderRGBA = \(a :: _) -> case'Entity (\_ -> _) (\_ _ _ (b :: _) -> _rhs b) a
20
14data WaveType :: Type where 21data WaveType :: Type where
15 WT_Sin :: WaveType 22 WT_Sin :: WaveType
16 WT_Triangle :: WaveType 23 WT_Triangle :: WaveType
@@ -18,8 +25,10 @@ data WaveType :: Type where
18 WT_Sawtooth :: WaveType 25 WT_Sawtooth :: WaveType
19 WT_InverseSawtooth :: WaveType 26 WT_InverseSawtooth :: WaveType
20 WT_Noise :: WaveType 27 WT_Noise :: WaveType
28
21data Wave :: Type where 29data Wave :: Type where
22 Wave :: WaveType -> Float -> Float -> Float -> Float -> Wave 30 Wave :: WaveType -> Float -> Float -> Float -> Float -> Wave
31
23data Deform :: Type where 32data Deform :: Type where
24 D_AutoSprite :: Deform 33 D_AutoSprite :: Deform
25 D_AutoSprite2 :: Deform 34 D_AutoSprite2 :: Deform
@@ -36,10 +45,12 @@ data Deform :: Type where
36 D_Text6 :: Deform 45 D_Text6 :: Deform
37 D_Text7 :: Deform 46 D_Text7 :: Deform
38 D_Wave :: Float -> Wave -> Deform 47 D_Wave :: Float -> Wave -> Deform
48
39data CullType :: Type where 49data CullType :: Type where
40 CT_FrontSided :: CullType 50 CT_FrontSided :: CullType
41 CT_BackSided :: CullType 51 CT_BackSided :: CullType
42 CT_TwoSided :: CullType 52 CT_TwoSided :: CullType
53
43data Blending' :: Type where 54data Blending' :: Type where
44 B_DstAlpha :: Blending' 55 B_DstAlpha :: Blending'
45 B_DstColor :: Blending' 56 B_DstColor :: Blending'
@@ -52,6 +63,7 @@ data Blending' :: Type where
52 B_SrcAlphaSaturate :: Blending' 63 B_SrcAlphaSaturate :: Blending'
53 B_SrcColor :: Blending' 64 B_SrcColor :: Blending'
54 B_Zero :: Blending' 65 B_Zero :: Blending'
66
55data RGBGen :: Type where 67data RGBGen :: Type where
56 RGB_Wave :: Wave -> RGBGen 68 RGB_Wave :: Wave -> RGBGen
57 RGB_Const :: Float -> Float -> Float -> RGBGen 69 RGB_Const :: Float -> Float -> Float -> RGBGen
@@ -64,6 +76,7 @@ data RGBGen :: Type where
64 RGB_LightingDiffuse :: RGBGen 76 RGB_LightingDiffuse :: RGBGen
65 RGB_OneMinusVertex :: RGBGen 77 RGB_OneMinusVertex :: RGBGen
66 RGB_Undefined :: RGBGen 78 RGB_Undefined :: RGBGen
79
67data AlphaGen :: Type where 80data AlphaGen :: Type where
68 A_Wave :: Wave -> AlphaGen 81 A_Wave :: Wave -> AlphaGen
69 A_Const :: Float -> AlphaGen 82 A_Const :: Float -> AlphaGen
@@ -74,12 +87,14 @@ data AlphaGen :: Type where
74 A_Vertex :: AlphaGen 87 A_Vertex :: AlphaGen
75 A_LightingSpecular :: AlphaGen 88 A_LightingSpecular :: AlphaGen
76 A_OneMinusVertex :: AlphaGen 89 A_OneMinusVertex :: AlphaGen
90
77data TCGen :: Type where 91data TCGen :: Type where
78 TG_Base :: TCGen 92 TG_Base :: TCGen
79 TG_Lightmap :: TCGen 93 TG_Lightmap :: TCGen
80 TG_Environment :: TCGen 94 TG_Environment :: TCGen
81 TG_Vector :: Vec (fromInt 3) Float -> Vec (fromInt 3) Float -> TCGen 95 TG_Vector :: Vec (fromInt 3) Float -> Vec (fromInt 3) Float -> TCGen
82 TG_Undefined :: TCGen 96 TG_Undefined :: TCGen
97
83data TCMod :: Type where 98data TCMod :: Type where
84 TM_EntityTranslate :: TCMod 99 TM_EntityTranslate :: TCMod
85 TM_Rotate :: Float -> TCMod 100 TM_Rotate :: Float -> TCMod
@@ -88,19 +103,23 @@ data TCMod :: Type where
88 TM_Stretch :: Wave -> TCMod 103 TM_Stretch :: Wave -> TCMod
89 TM_Transform :: Float -> Float -> Float -> Float -> Float -> Float -> TCMod 104 TM_Transform :: Float -> Float -> Float -> Float -> Float -> Float -> TCMod
90 TM_Turb :: Float -> Float -> Float -> Float -> TCMod 105 TM_Turb :: Float -> Float -> Float -> Float -> TCMod
106
91data StageTexture :: Type where 107data StageTexture :: Type where
92 ST_Map :: String -> StageTexture 108 ST_Map :: String -> StageTexture
93 ST_ClampMap :: String -> StageTexture 109 ST_ClampMap :: String -> StageTexture
94 ST_AnimMap :: Float -> [String] -> StageTexture 110 ST_AnimMap :: Float -> [String] -> StageTexture
95 ST_Lightmap :: StageTexture 111 ST_Lightmap :: StageTexture
96 ST_WhiteImage :: StageTexture 112 ST_WhiteImage :: StageTexture
113
97data AlphaFunction :: Type where 114data AlphaFunction :: Type where
98 A_Gt0 :: AlphaFunction 115 A_Gt0 :: AlphaFunction
99 A_Lt128 :: AlphaFunction 116 A_Lt128 :: AlphaFunction
100 A_Ge128 :: AlphaFunction 117 A_Ge128 :: AlphaFunction
118
101data DepthFunction :: Type where 119data DepthFunction :: Type where
102 D_Equal :: DepthFunction 120 D_Equal :: DepthFunction
103 D_Lequal :: DepthFunction 121 D_Lequal :: DepthFunction
122
104data StageAttrs :: Type where 123data StageAttrs :: Type where
105 StageAttrs 124 StageAttrs
106 :: Maybe (HList (Blending' : Blending' : '[])) 125 :: Maybe (HList (Blending' : Blending' : '[]))
@@ -110,61 +129,73 @@ data StageAttrs :: Type where
110 -> [TCMod] 129 -> [TCMod]
111 -> StageTexture 130 -> StageTexture
112 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs 131 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs
132
113saBlend 133saBlend
114 = \(a :: _) -> case'StageAttrs 134 = \(a :: _) -> case'StageAttrs
115 (\_ -> _) 135 (\_ -> _)
116 (\(b :: _) _ _ _ _ _ _ _ _ _ _ -> _rhs b) 136 (\(b :: _) _ _ _ _ _ _ _ _ _ _ -> _rhs b)
117 a 137 a
138
118saRGBGen 139saRGBGen
119 = \(a :: _) -> case'StageAttrs 140 = \(a :: _) -> case'StageAttrs
120 (\_ -> _) 141 (\_ -> _)
121 (\_ (b :: _) _ _ _ _ _ _ _ _ _ -> _rhs b) 142 (\_ (b :: _) _ _ _ _ _ _ _ _ _ -> _rhs b)
122 a 143 a
144
123saAlphaGen 145saAlphaGen
124 = \(a :: _) -> case'StageAttrs 146 = \(a :: _) -> case'StageAttrs
125 (\_ -> _) 147 (\_ -> _)
126 (\_ _ (b :: _) _ _ _ _ _ _ _ _ -> _rhs b) 148 (\_ _ (b :: _) _ _ _ _ _ _ _ _ -> _rhs b)
127 a 149 a
150
128saTCGen 151saTCGen
129 = \(a :: _) -> case'StageAttrs 152 = \(a :: _) -> case'StageAttrs
130 (\_ -> _) 153 (\_ -> _)
131 (\_ _ _ (b :: _) _ _ _ _ _ _ _ -> _rhs b) 154 (\_ _ _ (b :: _) _ _ _ _ _ _ _ -> _rhs b)
132 a 155 a
156
133saTCMod 157saTCMod
134 = \(a :: _) -> case'StageAttrs 158 = \(a :: _) -> case'StageAttrs
135 (\_ -> _) 159 (\_ -> _)
136 (\_ _ _ _ (b :: _) _ _ _ _ _ _ -> _rhs b) 160 (\_ _ _ _ (b :: _) _ _ _ _ _ _ -> _rhs b)
137 a 161 a
162
138saTexture 163saTexture
139 = \(a :: _) -> case'StageAttrs 164 = \(a :: _) -> case'StageAttrs
140 (\_ -> _) 165 (\_ -> _)
141 (\_ _ _ _ _ (b :: _) _ _ _ _ _ -> _rhs b) 166 (\_ _ _ _ _ (b :: _) _ _ _ _ _ -> _rhs b)
142 a 167 a
168
143saDepthWrite 169saDepthWrite
144 = \(a :: _) -> case'StageAttrs 170 = \(a :: _) -> case'StageAttrs
145 (\_ -> _) 171 (\_ -> _)
146 (\_ _ _ _ _ _ (b :: _) _ _ _ _ -> _rhs b) 172 (\_ _ _ _ _ _ (b :: _) _ _ _ _ -> _rhs b)
147 a 173 a
174
148saDepthFunc 175saDepthFunc
149 = \(a :: _) -> case'StageAttrs 176 = \(a :: _) -> case'StageAttrs
150 (\_ -> _) 177 (\_ -> _)
151 (\_ _ _ _ _ _ _ (b :: _) _ _ _ -> _rhs b) 178 (\_ _ _ _ _ _ _ (b :: _) _ _ _ -> _rhs b)
152 a 179 a
180
153saAlphaFunc 181saAlphaFunc
154 = \(a :: _) -> case'StageAttrs 182 = \(a :: _) -> case'StageAttrs
155 (\_ -> _) 183 (\_ -> _)
156 (\_ _ _ _ _ _ _ _ (b :: _) _ _ -> _rhs b) 184 (\_ _ _ _ _ _ _ _ (b :: _) _ _ -> _rhs b)
157 a 185 a
186
158saDepthMaskExplicit 187saDepthMaskExplicit
159 = \(a :: _) -> case'StageAttrs 188 = \(a :: _) -> case'StageAttrs
160 (\_ -> _) 189 (\_ -> _)
161 (\_ _ _ _ _ _ _ _ _ (b :: _) _ -> _rhs b) 190 (\_ _ _ _ _ _ _ _ _ (b :: _) _ -> _rhs b)
162 a 191 a
192
163saTextureUniform 193saTextureUniform
164 = \(a :: _) -> case'StageAttrs 194 = \(a :: _) -> case'StageAttrs
165 (\_ -> _) 195 (\_ -> _)
166 (\_ _ _ _ _ _ _ _ _ _ (b :: _) -> _rhs b) 196 (\_ _ _ _ _ _ _ _ _ _ (b :: _) -> _rhs b)
167 a 197 a
198
168defaultStageAttrs :: StageAttrs 199defaultStageAttrs :: StageAttrs
169defaultStageAttrs 200defaultStageAttrs
170 = _rhs 201 = _rhs
@@ -180,6 +211,7 @@ defaultStageAttrs
180 Nothing 211 Nothing
181 False 212 False
182 "") 213 "")
214
183data CommonAttrs :: Type where 215data CommonAttrs :: Type where
184 CommonAttrs 216 CommonAttrs
185 :: HList '[] 217 :: HList '[]
@@ -189,66 +221,79 @@ data CommonAttrs :: Type where
189 -> Bool 221 -> Bool
190 -> Bool 222 -> Bool
191 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs 223 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs
224
192caSkyParms 225caSkyParms
193 = \(a :: _) -> case'CommonAttrs 226 = \(a :: _) -> case'CommonAttrs
194 (\_ -> _) 227 (\_ -> _)
195 (\(b :: _) _ _ _ _ _ _ _ _ _ _ _ -> _rhs b) 228 (\(b :: _) _ _ _ _ _ _ _ _ _ _ _ -> _rhs b)
196 a 229 a
230
197caFogParms 231caFogParms
198 = \(a :: _) -> case'CommonAttrs 232 = \(a :: _) -> case'CommonAttrs
199 (\_ -> _) 233 (\_ -> _)
200 (\_ (b :: _) _ _ _ _ _ _ _ _ _ _ -> _rhs b) 234 (\_ (b :: _) _ _ _ _ _ _ _ _ _ _ -> _rhs b)
201 a 235 a
236
202caPortal 237caPortal
203 = \(a :: _) -> case'CommonAttrs 238 = \(a :: _) -> case'CommonAttrs
204 (\_ -> _) 239 (\_ -> _)
205 (\_ _ (b :: _) _ _ _ _ _ _ _ _ _ -> _rhs b) 240 (\_ _ (b :: _) _ _ _ _ _ _ _ _ _ -> _rhs b)
206 a 241 a
242
207caSort 243caSort
208 = \(a :: _) -> case'CommonAttrs 244 = \(a :: _) -> case'CommonAttrs
209 (\_ -> _) 245 (\_ -> _)
210 (\_ _ _ (b :: _) _ _ _ _ _ _ _ _ -> _rhs b) 246 (\_ _ _ (b :: _) _ _ _ _ _ _ _ _ -> _rhs b)
211 a 247 a
248
212caEntityMergable 249caEntityMergable
213 = \(a :: _) -> case'CommonAttrs 250 = \(a :: _) -> case'CommonAttrs
214 (\_ -> _) 251 (\_ -> _)
215 (\_ _ _ _ (b :: _) _ _ _ _ _ _ _ -> _rhs b) 252 (\_ _ _ _ (b :: _) _ _ _ _ _ _ _ -> _rhs b)
216 a 253 a
254
217caFogOnly 255caFogOnly
218 = \(a :: _) -> case'CommonAttrs 256 = \(a :: _) -> case'CommonAttrs
219 (\_ -> _) 257 (\_ -> _)
220 (\_ _ _ _ _ (b :: _) _ _ _ _ _ _ -> _rhs b) 258 (\_ _ _ _ _ (b :: _) _ _ _ _ _ _ -> _rhs b)
221 a 259 a
260
222caCull 261caCull
223 = \(a :: _) -> case'CommonAttrs 262 = \(a :: _) -> case'CommonAttrs
224 (\_ -> _) 263 (\_ -> _)
225 (\_ _ _ _ _ _ (b :: _) _ _ _ _ _ -> _rhs b) 264 (\_ _ _ _ _ _ (b :: _) _ _ _ _ _ -> _rhs b)
226 a 265 a
266
227caDeformVertexes 267caDeformVertexes
228 = \(a :: _) -> case'CommonAttrs 268 = \(a :: _) -> case'CommonAttrs
229 (\_ -> _) 269 (\_ -> _)
230 (\_ _ _ _ _ _ _ (b :: _) _ _ _ _ -> _rhs b) 270 (\_ _ _ _ _ _ _ (b :: _) _ _ _ _ -> _rhs b)
231 a 271 a
272
232caNoMipMaps 273caNoMipMaps
233 = \(a :: _) -> case'CommonAttrs 274 = \(a :: _) -> case'CommonAttrs
234 (\_ -> _) 275 (\_ -> _)
235 (\_ _ _ _ _ _ _ _ (b :: _) _ _ _ -> _rhs b) 276 (\_ _ _ _ _ _ _ _ (b :: _) _ _ _ -> _rhs b)
236 a 277 a
278
237caPolygonOffset 279caPolygonOffset
238 = \(a :: _) -> case'CommonAttrs 280 = \(a :: _) -> case'CommonAttrs
239 (\_ -> _) 281 (\_ -> _)
240 (\_ _ _ _ _ _ _ _ _ (b :: _) _ _ -> _rhs b) 282 (\_ _ _ _ _ _ _ _ _ (b :: _) _ _ -> _rhs b)
241 a 283 a
284
242caStages 285caStages
243 = \(a :: _) -> case'CommonAttrs 286 = \(a :: _) -> case'CommonAttrs
244 (\_ -> _) 287 (\_ -> _)
245 (\_ _ _ _ _ _ _ _ _ _ (b :: _) _ -> _rhs b) 288 (\_ _ _ _ _ _ _ _ _ _ (b :: _) _ -> _rhs b)
246 a 289 a
290
247caIsSky 291caIsSky
248 = \(a :: _) -> case'CommonAttrs 292 = \(a :: _) -> case'CommonAttrs
249 (\_ -> _) 293 (\_ -> _)
250 (\_ _ _ _ _ _ _ _ _ _ _ (b :: _) -> _rhs b) 294 (\_ _ _ _ _ _ _ _ _ _ _ (b :: _) -> _rhs b)
251 a 295 a
296
252defaultCommonAttrs :: CommonAttrs 297defaultCommonAttrs :: CommonAttrs
253defaultCommonAttrs 298defaultCommonAttrs
254 = _rhs 299 = _rhs
@@ -265,7 +310,6 @@ defaultCommonAttrs
265 False 310 False
266 [] 311 []
267 False) 312 False)
268main is not found
269------------ trace 313------------ trace
270identityLight :: Float 314identityLight :: Float
271'Entity :: Type 315'Entity :: Type
diff --git a/testdata/Prelude.out b/testdata/Prelude.out
index 3e8b2b17..e1b26503 100644
--- a/testdata/Prelude.out
+++ b/testdata/Prelude.out
@@ -1,15 +1,27 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2infixr 9 . 3infixr 9 .
4
3infixl 7 PrimMulMatVec 5infixl 7 PrimMulMatVec
6
4infixl 7 PrimDot 7infixl 7 PrimDot
8
5infixr 5 ++ 9infixr 5 ++
10
6infixr 3 *** 11infixr 3 ***
12
7infixr 0 $ 13infixr 0 $
14
8const = \(a :: _) _ -> _rhs a 15const = \(a :: _) _ -> _rhs a
16
9otherwise = _rhs True 17otherwise = _rhs True
18
10(&) = \(a :: _) (b :: _) -> _rhs (b a) 19(&) = \(a :: _) (b :: _) -> _rhs (b a)
20
11($) = _rhs \(a :: _) (b :: _) -> a b 21($) = _rhs \(a :: _) (b :: _) -> a b
22
12(.) = _rhs \(a :: _) (b :: _) (c :: _) -> a (b c) 23(.) = _rhs \(a :: _) (b :: _) (c :: _) -> a (b c)
24
13uncurry 25uncurry
14 = \(a :: _) (b :: _) -> hlistConsCase 26 = \(a :: _) (b :: _) -> hlistConsCase
15 _ 27 _
@@ -18,6 +30,7 @@ uncurry
18 (\(e :: _) (f :: _) -> hlistNilCase _ (_rhs (a c e)) f) 30 (\(e :: _) (f :: _) -> hlistNilCase _ (_rhs (a c e)) f)
19 d) 31 d)
20 b 32 b
33
21(***) 34(***)
22 = \(a :: _) (b :: _) (c :: _) -> hlistConsCase 35 = \(a :: _) (b :: _) (c :: _) -> hlistConsCase
23 _ 36 _
@@ -26,7 +39,9 @@ uncurry
26 (\(f :: _) (g :: _) -> hlistNilCase _ (_rhs (HCons (a d) (HCons (b f) HNil))) g) 39 (\(f :: _) (g :: _) -> hlistNilCase _ (_rhs (HCons (a d) (HCons (b f) HNil))) g)
27 e) 40 e)
28 c 41 c
42
29pi = _rhs 3.141592653589793 43pi = _rhs 3.141592653589793
44
30zip :: forall (a :: _) (b :: _) . [a] -> [b] -> [HList (a : b : '[])] 45zip :: forall (a :: _) (b :: _) . [a] -> [b] -> [HList (a : b : '[])]
31zip 46zip
32 = \(a :: _) (b :: _) -> case'List 47 = \(a :: _) (b :: _) -> case'List
@@ -38,6 +53,7 @@ zip
38 (\(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip d f)) 53 (\(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip d f))
39 b) 54 b)
40 a 55 a
56
41unzip 57unzip
42 :: forall (a :: _) (b :: _) . [HList (a : b : '[])] -> HList ([a] : [b] : '[]) 58 :: forall (a :: _) (b :: _) . [HList (a : b : '[])] -> HList ([a] : [b] : '[])
43unzip 59unzip
@@ -70,6 +86,7 @@ unzip
70 e) 86 e)
71 b) 87 b)
72 a 88 a
89
73filter 90filter
74 = \(a :: _) (b :: _) -> case'List 91 = \(a :: _) (b :: _) -> case'List
75 (\_ -> _) 92 (\_ -> _)
@@ -77,23 +94,28 @@ filter
77 (\(c :: _) (d :: _) -> _rhs 94 (\(c :: _) (d :: _) -> _rhs
78 ((\(e :: _) -> case'Bool (\_ -> _) (filter a d) (c : filter a d) e) (a c))) 95 ((\(e :: _) -> case'Bool (\_ -> _) (filter a d) (c : filter a d) e) (a c)))
79 b 96 b
97
80tail :: forall (a :: _) . [a] -> [a] 98tail :: forall (a :: _) . [a] -> [a]
81tail 99tail
82 = \(a :: _) -> case'List (\_ -> _) (_rhs undefined) (\_ (b :: _) -> _rhs b) a 100 = \(a :: _) -> case'List (\_ -> _) (_rhs undefined) (\_ (b :: _) -> _rhs b) a
101
83pairs :: forall (a :: _) . [a] -> [HList (a : a : '[])] 102pairs :: forall (a :: _) . [a] -> [HList (a : a : '[])]
84pairs = \(a :: _) -> _rhs (zip a (tail a)) 103pairs = \(a :: _) -> _rhs (zip a (tail a))
104
85foldl' 105foldl'
86 = \(a :: _) (b :: _) (c :: _) -> case'List 106 = \(a :: _) (b :: _) (c :: _) -> case'List
87 (\_ -> _) 107 (\_ -> _)
88 (_rhs b) 108 (_rhs b)
89 (\(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e)) 109 (\(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e))
90 c 110 c
111
91foldr1 112foldr1
92 = \(a :: _) (b :: _) -> case'List 113 = \(a :: _) (b :: _) -> case'List
93 (\_ -> _) 114 (\_ -> _)
94 (_rhs undefined) 115 (_rhs undefined)
95 (\(c :: _) (d :: _) -> _rhs (foldr a c d)) 116 (\(c :: _) (d :: _) -> _rhs (foldr a c d))
96 b 117 b
118
97split 119split
98 = \(a :: _) -> case'List 120 = \(a :: _) -> case'List
99 (\_ -> _) 121 (\_ -> _)
@@ -115,6 +137,7 @@ split
115 k) 137 k)
116 d)) -> HCons (b : e) (HCons f HNil)) 138 d)) -> HCons (b : e) (HCons f HNil))
117 a 139 a
140
118mergeBy 141mergeBy
119 = \(a :: _) (b :: _) (c :: _) -> case'List 142 = \(a :: _) (b :: _) (c :: _) -> case'List
120 (\_ -> _) 143 (\_ -> _)
@@ -132,6 +155,7 @@ mergeBy
132 (a d f))) 155 (a d f)))
133 c) 156 c)
134 b 157 b
158
135sortBy 159sortBy
136 = \(a :: _) (b :: _) -> case'List 160 = \(a :: _) (b :: _) -> case'List
137 (\_ -> _) 161 (\_ -> _)
@@ -142,8 +166,10 @@ sortBy
142 (\_ _ -> _rhs (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b)))) 166 (\_ _ -> _rhs (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b))))
143 d) 167 d)
144 b 168 b
169
145iterate :: forall (a :: _) . (a -> a) -> a -> [a] 170iterate :: forall (a :: _) . (a -> a) -> a -> [a]
146iterate = \(a :: _) (b :: _) -> _rhs (b : iterate a (a b)) 171iterate = \(a :: _) (b :: _) -> _rhs (b : iterate a (a b))
172
147fst 173fst
148 = \(a :: _) -> hlistConsCase 174 = \(a :: _) -> hlistConsCase
149 _ 175 _
@@ -152,6 +178,7 @@ fst
152 (\_ (d :: _) -> hlistNilCase _ (_rhs b) d) 178 (\_ (d :: _) -> hlistNilCase _ (_rhs b) d)
153 c) 179 c)
154 a 180 a
181
155snd 182snd
156 = \(a :: _) -> hlistConsCase 183 = \(a :: _) -> hlistConsCase
157 _ 184 _
@@ -160,15 +187,23 @@ snd
160 (\(c :: _) (d :: _) -> hlistNilCase _ (_rhs c) d) 187 (\(c :: _) (d :: _) -> hlistNilCase _ (_rhs c) d)
161 b) 188 b)
162 a 189 a
190
163(|||) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs b) (_rhs True) a 191(|||) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs b) (_rhs True) a
192
164infixr 2 ||| 193infixr 2 |||
194
165(&&&) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs False) (_rhs b) a 195(&&&) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs False) (_rhs b) a
196
166infixr 3 &&& 197infixr 3 &&&
198
167data RecItem :: Type where 199data RecItem :: Type where
168 RecItem :: String -> Type -> RecItem 200 RecItem :: String -> Type -> RecItem
201
169recItemType = \(a :: _) -> case'RecItem (\_ -> _) (\_ (b :: _) -> _rhs b) a 202recItemType = \(a :: _) -> case'RecItem (\_ -> _) (\_ (b :: _) -> _rhs b) a
203
170data RecordC (_ :: [RecItem]) :: Type where 204data RecordC (_ :: [RecItem]) :: Type where
171 RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a 205 RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a
206
172isKeyC 207isKeyC
173 = \(a :: _) (b :: _) (c :: _) -> case'List 208 = \(a :: _) (b :: _) (c :: _) -> case'List
174 (\_ -> _) 209 (\_ -> _)
@@ -179,8 +214,11 @@ isKeyC
179 (primIfThenElse (a == f) (b `'EqCTt` g) (isKeyC a b e))) 214 (primIfThenElse (a == f) (b `'EqCTt` g) (isKeyC a b e)))
180 d) 215 d)
181 c 216 c
217
182fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) _ -> a) 218fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) _ -> a)
219
183sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a) 220sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a)
221
184project 222project
185 :: forall (a :: _) (b :: [RecItem]) 223 :: forall (a :: _) (b :: [RecItem])
186 . forall (c :: String) -> isKeyC c a b => RecordC b -> a 224 . forall (c :: String) -> isKeyC c a b => RecordC b -> a
@@ -207,156 +245,304 @@ project
207 d) 245 d)
208 e) 246 e)
209 b 247 b
248
210rgb = \(a :: _) (b :: _) (c :: _) -> _rhs (V4 a b c 1.0) 249rgb = \(a :: _) (b :: _) (c :: _) -> _rhs (V4 a b c 1.0)
250
211black = _rhs (rgb 0.0 0.0 0.0) 251black = _rhs (rgb 0.0 0.0 0.0)
252
212gray = _rhs (rgb 0.5 0.5 0.5) 253gray = _rhs (rgb 0.5 0.5 0.5)
254
213silver = _rhs (rgb 0.75 0.75 0.75) 255silver = _rhs (rgb 0.75 0.75 0.75)
256
214white = _rhs (rgb 1.0 1.0 1.0) 257white = _rhs (rgb 1.0 1.0 1.0)
258
215maroon = _rhs (rgb 0.5 0.0 0.0) 259maroon = _rhs (rgb 0.5 0.0 0.0)
260
216red = _rhs (rgb 1.0 0.0 0.0) 261red = _rhs (rgb 1.0 0.0 0.0)
262
217olive = _rhs (rgb 0.5 0.5 0.0) 263olive = _rhs (rgb 0.5 0.5 0.0)
264
218yellow = _rhs (rgb 1.0 1.0 0.0) 265yellow = _rhs (rgb 1.0 1.0 0.0)
266
219green = _rhs (rgb 0.0 0.5 0.0) 267green = _rhs (rgb 0.0 0.5 0.0)
268
220lime = _rhs (rgb 0.0 1.0 0.0) 269lime = _rhs (rgb 0.0 1.0 0.0)
270
221teal = _rhs (rgb 0.0 0.5 0.5) 271teal = _rhs (rgb 0.0 0.5 0.5)
272
222aqua = _rhs (rgb 0.0 1.0 1.0) 273aqua = _rhs (rgb 0.0 1.0 1.0)
274
223navy = _rhs (rgb 0.0 0.0 0.5) 275navy = _rhs (rgb 0.0 0.0 0.5)
276
224blue = _rhs (rgb 0.0 0.0 1.0) 277blue = _rhs (rgb 0.0 0.0 1.0)
278
225purple = _rhs (rgb 0.5 0.0 0.5) 279purple = _rhs (rgb 0.5 0.0 0.5)
280
226fuchsia = _rhs (rgb 1.0 0.0 1.0) 281fuchsia = _rhs (rgb 1.0 0.0 1.0)
282
227colorImage1 = _rhs (ColorImage @(fromInt 1)) 283colorImage1 = _rhs (ColorImage @(fromInt 1))
284
228colorImage2 = _rhs (ColorImage @(fromInt 2)) 285colorImage2 = _rhs (ColorImage @(fromInt 2))
286
229depthImage1 = _rhs (DepthImage @(fromInt 1)) 287depthImage1 = _rhs (DepthImage @(fromInt 1))
288
230v3FToV4F :: Vec (fromInt 3) Float -> Vec (fromInt 4) Float 289v3FToV4F :: Vec (fromInt 3) Float -> Vec (fromInt 4) Float
231v3FToV4F 290v3FToV4F
232 = \(a :: _) -> _rhs 291 = \(a :: _) -> _rhs
233 (V4 (swizzscalar a Sx) (swizzscalar a Sy) (swizzscalar a Sz) (fromInt 1)) 292 (V4 (swizzscalar a Sx) (swizzscalar a Sy) (swizzscalar a Sz) (fromInt 1))
293
234radians = _rhs PrimRadians 294radians = _rhs PrimRadians
295
235degrees = _rhs PrimDegrees 296degrees = _rhs PrimDegrees
297
236sin = _rhs PrimSin 298sin = _rhs PrimSin
299
237cos = _rhs PrimCos 300cos = _rhs PrimCos
301
238tan = _rhs PrimTan 302tan = _rhs PrimTan
303
239sinh = _rhs PrimSinH 304sinh = _rhs PrimSinH
305
240cosh = _rhs PrimCosH 306cosh = _rhs PrimCosH
307
241tanh = _rhs PrimTanH 308tanh = _rhs PrimTanH
309
242asin = _rhs PrimASin 310asin = _rhs PrimASin
311
243asinh = _rhs PrimASinH 312asinh = _rhs PrimASinH
313
244acos = _rhs PrimACos 314acos = _rhs PrimACos
315
245acosh = _rhs PrimACosH 316acosh = _rhs PrimACosH
317
246atan = _rhs PrimATan 318atan = _rhs PrimATan
319
247atanh = _rhs PrimATanH 320atanh = _rhs PrimATanH
321
248atan2 = _rhs PrimATan2 322atan2 = _rhs PrimATan2
323
249pow = _rhs PrimPow 324pow = _rhs PrimPow
325
250exp = _rhs PrimExp 326exp = _rhs PrimExp
327
251log = _rhs PrimLog 328log = _rhs PrimLog
329
252exp2 = _rhs PrimExp2 330exp2 = _rhs PrimExp2
331
253log2 = _rhs PrimLog2 332log2 = _rhs PrimLog2
333
254sqrt = _rhs PrimSqrt 334sqrt = _rhs PrimSqrt
335
255inversesqrt = _rhs PrimInvSqrt 336inversesqrt = _rhs PrimInvSqrt
337
256abs = _rhs PrimAbs 338abs = _rhs PrimAbs
339
257sign = _rhs PrimSign 340sign = _rhs PrimSign
341
258floor = _rhs PrimFloor 342floor = _rhs PrimFloor
343
259trunc = _rhs PrimTrunc 344trunc = _rhs PrimTrunc
345
260round = _rhs PrimRound 346round = _rhs PrimRound
347
261roundEven = _rhs PrimRoundEven 348roundEven = _rhs PrimRoundEven
349
262ceil = _rhs PrimCeil 350ceil = _rhs PrimCeil
351
263fract = _rhs PrimFract 352fract = _rhs PrimFract
353
264mod = _rhs PrimMod 354mod = _rhs PrimMod
355
265min = _rhs PrimMin 356min = _rhs PrimMin
357
266max = _rhs PrimMax 358max = _rhs PrimMax
359
267modF = _rhs PrimModF 360modF = _rhs PrimModF
361
268clamp = _rhs PrimClamp 362clamp = _rhs PrimClamp
363
269clampS = _rhs PrimClampS 364clampS = _rhs PrimClampS
365
270mix = _rhs PrimMix 366mix = _rhs PrimMix
367
271mixS = _rhs PrimMixS 368mixS = _rhs PrimMixS
369
272mixB = _rhs PrimMixB 370mixB = _rhs PrimMixB
371
273step = _rhs PrimStep 372step = _rhs PrimStep
373
274stepS = _rhs PrimStepS 374stepS = _rhs PrimStepS
375
275smoothstep = _rhs PrimSmoothStep 376smoothstep = _rhs PrimSmoothStep
377
276smoothstepS = _rhs PrimSmoothStepS 378smoothstepS = _rhs PrimSmoothStepS
379
277isNan = _rhs PrimIsNan 380isNan = _rhs PrimIsNan
381
278isInf = _rhs PrimIsInf 382isInf = _rhs PrimIsInf
383
279dFdx = _rhs PrimDFdx 384dFdx = _rhs PrimDFdx
385
280dFdy = _rhs PrimDFdy 386dFdy = _rhs PrimDFdy
387
281fWidth = _rhs PrimFWidth 388fWidth = _rhs PrimFWidth
389
282noise1 = _rhs PrimNoise1 390noise1 = _rhs PrimNoise1
391
283noise2 = _rhs PrimNoise2 392noise2 = _rhs PrimNoise2
393
284noise3 = _rhs PrimNoise3 394noise3 = _rhs PrimNoise3
395
285noise4 = _rhs PrimNoise4 396noise4 = _rhs PrimNoise4
397
286length = _rhs PrimLength 398length = _rhs PrimLength
399
287distance = _rhs PrimDistance 400distance = _rhs PrimDistance
401
288dot = _rhs PrimDot 402dot = _rhs PrimDot
403
289cross = _rhs PrimCross 404cross = _rhs PrimCross
405
290normalize = _rhs PrimNormalize 406normalize = _rhs PrimNormalize
407
291faceforward = _rhs PrimFaceForward 408faceforward = _rhs PrimFaceForward
409
292reflect = _rhs PrimReflect 410reflect = _rhs PrimReflect
411
293refract = _rhs PrimRefract 412refract = _rhs PrimRefract
413
294transpose = _rhs PrimTranspose 414transpose = _rhs PrimTranspose
415
295det = _rhs PrimDeterminant 416det = _rhs PrimDeterminant
417
296inv = _rhs PrimInverse 418inv = _rhs PrimInverse
419
297outer = _rhs PrimOuterProduct 420outer = _rhs PrimOuterProduct
421
298bAnd = _rhs PrimBAnd 422bAnd = _rhs PrimBAnd
423
299bOr = _rhs PrimBOr 424bOr = _rhs PrimBOr
425
300bXor = _rhs PrimBXor 426bXor = _rhs PrimBXor
427
301bNot = _rhs PrimBNot 428bNot = _rhs PrimBNot
429
302bAndS = _rhs PrimBAndS 430bAndS = _rhs PrimBAndS
431
303bOrS = _rhs PrimBOrS 432bOrS = _rhs PrimBOrS
433
304bXorS = _rhs PrimBXorS 434bXorS = _rhs PrimBXorS
435
305shiftL = _rhs PrimBShiftL 436shiftL = _rhs PrimBShiftL
437
306shiftR = _rhs PrimBShiftR 438shiftR = _rhs PrimBShiftR
439
307shiftLS = _rhs PrimBShiftLS 440shiftLS = _rhs PrimBShiftLS
441
308shiftRS = _rhs PrimBShiftRS 442shiftRS = _rhs PrimBShiftRS
443
309floatBitsToInt = _rhs PrimFloatBitsToInt 444floatBitsToInt = _rhs PrimFloatBitsToInt
445
310floatBitsToWord = _rhs PrimFloatBitsToUInt 446floatBitsToWord = _rhs PrimFloatBitsToUInt
447
311intBitsToFloat = _rhs PrimIntBitsToFloat 448intBitsToFloat = _rhs PrimIntBitsToFloat
449
312wordBitsToFloat = _rhs PrimUIntBitsToFloat 450wordBitsToFloat = _rhs PrimUIntBitsToFloat
451
313infixl 7 * 452infixl 7 *
453
314infixl 7 / 454infixl 7 /
455
315infixl 7 % 456infixl 7 %
457
316infixl 6 + 458infixl 6 +
459
317infixl 6 - 460infixl 6 -
461
318infix 4 /= 462infix 4 /=
463
319infix 4 < 464infix 4 <
465
320infix 4 <= 466infix 4 <=
467
321infix 4 >= 468infix 4 >=
469
322infix 4 > 470infix 4 >
471
323infixr 3 && 472infixr 3 &&
473
324infixr 2 || 474infixr 2 ||
475
325infix 7 dot 476infix 7 dot
477
326infix 7 cross 478infix 7 cross
479
327infixr 7 *. 480infixr 7 *.
481
328infixl 7 .* 482infixl 7 .*
483
329infixl 7 .*. 484infixl 7 .*.
485
330(+) = \(a :: _) (b :: _) -> _rhs (PrimAdd a b) 486(+) = \(a :: _) (b :: _) -> _rhs (PrimAdd a b)
487
331(-) = \(a :: _) (b :: _) -> _rhs (PrimSub a b) 488(-) = \(a :: _) (b :: _) -> _rhs (PrimSub a b)
489
332(*) = \(a :: _) (b :: _) -> _rhs (PrimMul a b) 490(*) = \(a :: _) (b :: _) -> _rhs (PrimMul a b)
491
333(/) = \(a :: _) (b :: _) -> _rhs (PrimDiv a b) 492(/) = \(a :: _) (b :: _) -> _rhs (PrimDiv a b)
493
334(%) = \(a :: _) (b :: _) -> _rhs (PrimMod a b) 494(%) = \(a :: _) (b :: _) -> _rhs (PrimMod a b)
495
335neg = \(a :: _) -> _rhs (PrimNeg a) 496neg = \(a :: _) -> _rhs (PrimNeg a)
497
336(/=) = \(a :: _) (b :: _) -> _rhs (PrimNotEqual a b) 498(/=) = \(a :: _) (b :: _) -> _rhs (PrimNotEqual a b)
499
337(<) = \(a :: _) (b :: _) -> _rhs (PrimLessThan a b) 500(<) = \(a :: _) (b :: _) -> _rhs (PrimLessThan a b)
501
338(<=) = \(a :: _) (b :: _) -> _rhs (PrimLessThanEqual a b) 502(<=) = \(a :: _) (b :: _) -> _rhs (PrimLessThanEqual a b)
503
339(>=) = \(a :: _) (b :: _) -> _rhs (PrimGreaterThanEqual a b) 504(>=) = \(a :: _) (b :: _) -> _rhs (PrimGreaterThanEqual a b)
505
340(>) = \(a :: _) (b :: _) -> _rhs (PrimGreaterThan a b) 506(>) = \(a :: _) (b :: _) -> _rhs (PrimGreaterThan a b)
507
341(&&) = \(a :: _) (b :: _) -> _rhs (PrimAnd a b) 508(&&) = \(a :: _) (b :: _) -> _rhs (PrimAnd a b)
509
342(||) = \(a :: _) (b :: _) -> _rhs (PrimOr a b) 510(||) = \(a :: _) (b :: _) -> _rhs (PrimOr a b)
511
343xor = _rhs PrimXor 512xor = _rhs PrimXor
513
344not = \(a :: _) -> _rhs (PrimNot a) 514not = \(a :: _) -> _rhs (PrimNot a)
515
345any = \(a :: _) -> _rhs (PrimAny a) 516any = \(a :: _) -> _rhs (PrimAny a)
517
346all = \(a :: _) -> _rhs (PrimAll a) 518all = \(a :: _) -> _rhs (PrimAll a)
519
347(.*.) = \(a :: _) (b :: _) -> _rhs (PrimMulMatMat a b) 520(.*.) = \(a :: _) (b :: _) -> _rhs (PrimMulMatMat a b)
521
348(*.) = \(a :: _) (b :: _) -> _rhs (PrimMulMatVec a b) 522(*.) = \(a :: _) (b :: _) -> _rhs (PrimMulMatVec a b)
523
349(.*) = \(a :: _) (b :: _) -> _rhs (PrimMulVecMat a b) 524(.*) = \(a :: _) (b :: _) -> _rhs (PrimMulVecMat a b)
525
350infixl 7 *! 526infixl 7 *!
527
351infixl 7 /! 528infixl 7 /!
529
352infixl 7 %! 530infixl 7 %!
531
353infixl 6 +! 532infixl 6 +!
533
354infixl 6 -! 534infixl 6 -!
535
355(+!) = \(a :: _) (b :: _) -> _rhs (PrimAddS a b) 536(+!) = \(a :: _) (b :: _) -> _rhs (PrimAddS a b)
537
356(-!) = \(a :: _) (b :: _) -> _rhs (PrimSubS a b) 538(-!) = \(a :: _) (b :: _) -> _rhs (PrimSubS a b)
539
357(*!) = \(a :: _) (b :: _) -> _rhs (PrimMulS a b) 540(*!) = \(a :: _) (b :: _) -> _rhs (PrimMulS a b)
541
358(/!) = \(a :: _) (b :: _) -> _rhs (PrimDivS a b) 542(/!) = \(a :: _) (b :: _) -> _rhs (PrimDivS a b)
543
359(%!) = \(a :: _) (b :: _) -> _rhs (PrimModS a b) 544(%!) = \(a :: _) (b :: _) -> _rhs (PrimModS a b)
545
360perspective 546perspective
361 :: Float -> Float -> Float -> Float -> Mat (fromInt 4) (fromInt 4) Float 547 :: Float -> Float -> Float -> Float -> Mat (fromInt 4) (fromInt 4) Float
362perspective 548perspective
@@ -376,6 +562,7 @@ perspective
376 (fromInt 0) 562 (fromInt 0)
377 (fromInt 0 - fromInt 2 * b * a / (b - a)) 563 (fromInt 0 - fromInt 2 * b * a / (b - a))
378 (fromInt 0)) 564 (fromInt 0))
565
379rotMatrixZ 566rotMatrixZ
380 = \(a :: _) -> _rhs 567 = \(a :: _) -> _rhs
381 \(b := _rhs (cos a)) (c := _rhs (sin a)) -> M44F 568 \(b := _rhs (cos a)) (c := _rhs (sin a)) -> M44F
@@ -383,6 +570,7 @@ rotMatrixZ
383 (V4 (fromInt 0 - c) b (fromInt 0) (fromInt 0)) 570 (V4 (fromInt 0 - c) b (fromInt 0) (fromInt 0))
384 (V4 (fromInt 0) (fromInt 0) (fromInt 1) (fromInt 0)) 571 (V4 (fromInt 0) (fromInt 0) (fromInt 1) (fromInt 0))
385 (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1)) 572 (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1))
573
386rotMatrixY 574rotMatrixY
387 = \(a :: _) -> _rhs 575 = \(a :: _) -> _rhs
388 \(b := _rhs (cos a)) (c := _rhs (sin a)) -> M44F 576 \(b := _rhs (cos a)) (c := _rhs (sin a)) -> M44F
@@ -390,6 +578,7 @@ rotMatrixY
390 (V4 (fromInt 0) (fromInt 1) (fromInt 0) (fromInt 0)) 578 (V4 (fromInt 0) (fromInt 1) (fromInt 0) (fromInt 0))
391 (V4 c (fromInt 0) b (fromInt 0)) 579 (V4 c (fromInt 0) b (fromInt 0))
392 (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1)) 580 (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1))
581
393rotMatrixX 582rotMatrixX
394 = \(a :: _) -> _rhs 583 = \(a :: _) -> _rhs
395 \(b := _rhs (cos a)) (c := _rhs (sin a)) -> M44F 584 \(b := _rhs (cos a)) (c := _rhs (sin a)) -> M44F
@@ -397,9 +586,11 @@ rotMatrixX
397 (V4 (fromInt 0) b c (fromInt 0)) 586 (V4 (fromInt 0) b c (fromInt 0))
398 (V4 (fromInt 0) (fromInt 0 - c) b (fromInt 0)) 587 (V4 (fromInt 0) (fromInt 0 - c) b (fromInt 0))
399 (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1)) 588 (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1))
589
400rotationEuler 590rotationEuler
401 = \(a :: _) (b :: _) (c :: _) -> _rhs 591 = \(a :: _) (b :: _) (c :: _) -> _rhs
402 (rotMatrixY a .*. rotMatrixX b .*. rotMatrixZ c) 592 (rotMatrixY a .*. rotMatrixX b .*. rotMatrixZ c)
593
403translateBefore4 :: Vec (fromInt 3) Float -> Mat (fromInt 4) (fromInt 4) Float 594translateBefore4 :: Vec (fromInt 3) Float -> Mat (fromInt 4) (fromInt 4) Float
404translateBefore4 595translateBefore4
405 = \(a :: _) -> _rhs 596 = \(a :: _) -> _rhs
@@ -413,6 +604,7 @@ translateBefore4
413 (swizzscalar a Sy) 604 (swizzscalar a Sy)
414 (swizzscalar a Sz) 605 (swizzscalar a Sz)
415 (fromInt 1))) -> M44F b c d e 606 (fromInt 1))) -> M44F b c d e
607
416lookat 608lookat
417 :: Vec (fromInt 3) Float 609 :: Vec (fromInt 3) Float
418 -> Vec (fromInt 3) Float 610 -> Vec (fromInt 3) Float
@@ -434,7 +626,9 @@ lookat
434 (d e) 626 (d e)
435 (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1)))) -> h 627 (V4 (fromInt 0) (fromInt 0) (fromInt 0) (fromInt 1)))) -> h
436 .*. translateBefore4 (neg a) 628 .*. translateBefore4 (neg a)
629
437scale = \(a :: _) (b :: _) -> _rhs (b * V4 a a a 1.0) 630scale = \(a :: _) (b :: _) -> _rhs (b * V4 a a a 1.0)
631
438fromTo :: Float -> Float -> [Float] 632fromTo :: Float -> Float -> [Float]
439fromTo 633fromTo
440 = \(a :: _) (b :: _) -> case'Bool 634 = \(a :: _) (b :: _) -> case'Bool
@@ -442,6 +636,7 @@ fromTo
442 (_rhs (a : fromTo (a + fromInt 1) b)) 636 (_rhs (a : fromTo (a + fromInt 1) b))
443 (_rhs []) 637 (_rhs [])
444 (a > b) 638 (a > b)
639
445(!!) :: forall (a :: _) . [a] -> Int -> a 640(!!) :: forall (a :: _) . [a] -> Int -> a
446(!!) 641(!!)
447 = \(a :: _) (b :: _) -> case'List 642 = \(a :: _) (b :: _) -> case'List
@@ -453,7 +648,6 @@ fromTo
453 (_rhs c) 648 (_rhs c)
454 (fromInt 0 == b)) 649 (fromInt 0 == b))
455 a 650 a
456main is not found
457------------ trace 651------------ trace
458const :: forall a b . a -> b -> a 652const :: forall a b . a -> b -> a
459otherwise :: Bool 653otherwise :: Bool
diff --git a/testdata/SampleMaterial.out b/testdata/SampleMaterial.out
index 91701a48..d0bc2e7d 100644
--- a/testdata/SampleMaterial.out
+++ b/testdata/SampleMaterial.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2sampleMaterial 3sampleMaterial
3 = _rhs 4 = _rhs
@@ -2076,7 +2077,6 @@ sampleMaterial
2076 False) 2077 False)
2077 HNil) 2078 HNil)
2078 : []) 2079 : [])
2079main is not found
2080------------ trace 2080------------ trace
2081sampleMaterial :: [(String, CommonAttrs)] 2081sampleMaterial :: [(String, CommonAttrs)]
2082------------ tooltips 2082------------ tooltips
diff --git a/testdata/ambig.out b/testdata/ambig.out
index ce1a76fb..53770b84 100644
--- a/testdata/ambig.out
+++ b/testdata/ambig.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2h 3h
3 = \(a :: _) (b :: _) _ -> _rhs 4 = \(a :: _) (b :: _) _ -> _rhs
@@ -11,7 +12,6 @@ h
11 f) 12 f)
12 d) 13 d)
13 b)) -> c 14 b)) -> c
14main is not found
15------------ trace 15------------ trace
16h :: forall a b c d . (b -> d -> c) -> (b, d) -> a -> c 16h :: forall a b c d . (b -> d -> c) -> (b, d) -> a -> c
17------------ tooltips 17------------ tooltips
diff --git a/testdata/complex.out b/testdata/complex.out
index 1ae39c8d..18a95a8c 100644
--- a/testdata/complex.out
+++ b/testdata/complex.out
@@ -1,15 +1,21 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2data Repr :: Type where 3data Repr :: Type where
3 Normal :: Repr 4 Normal :: Repr
4 Polar :: Repr 5 Polar :: Repr
6
5data Complex :: Repr -> Type where 7data Complex :: Repr -> Type where
6 Complex :: forall (a :: _) . Float -> Float -> Complex a 8 Complex :: forall (a :: _) . Float -> Float -> Complex a
9
7repr :: forall (a :: _) . Complex a -> Repr 10repr :: forall (a :: _) . Complex a -> Repr
8repr = \ @(a :: _) _ -> _rhs a 11repr = \ @(a :: _) _ -> _rhs a
12
9normal :: Float -> Float -> Complex Normal 13normal :: Float -> Float -> Complex Normal
10normal = \(a :: _) (b :: _) -> _rhs (Complex a b) 14normal = \(a :: _) (b :: _) -> _rhs (Complex a b)
15
11polar :: Float -> Float -> Complex Polar 16polar :: Float -> Float -> Complex Polar
12polar = \(a :: _) (b :: _) -> _rhs (Complex a b) 17polar = \(a :: _) (b :: _) -> _rhs (Complex a b)
18
13cabs :: forall (a :: _) . Complex a -> Float 19cabs :: forall (a :: _) . Complex a -> Float
14cabs 20cabs
15 = \ @(a :: _) (b :: _) -> case'Repr 21 = \ @(a :: _) (b :: _) -> case'Repr
@@ -17,6 +23,7 @@ cabs
17 (case'Complex (\_ _ -> _) (\(c :: _) (d :: _) -> _rhs (sqrt (c * c + d * d))) b) 23 (case'Complex (\_ _ -> _) (\(c :: _) (d :: _) -> _rhs (sqrt (c * c + d * d))) b)
18 (case'Complex (\_ _ -> _) (\(e :: _) _ -> _rhs e) b) 24 (case'Complex (\_ _ -> _) (\(e :: _) _ -> _rhs e) b)
19 a 25 a
26
20toPolar :: Complex Normal -> Complex Polar 27toPolar :: Complex Normal -> Complex Polar
21toPolar 28toPolar
22 = \(a :: _) -> case'Complex 29 = \(a :: _) -> case'Complex
@@ -39,13 +46,16 @@ toPolar
39 (polar d (fromInt 0 - pi / 2.0)) 46 (polar d (fromInt 0 - pi / 2.0))
40 undefined))))) 47 undefined)))))
41 a 48 a
49
42toNormal :: Complex Polar -> Complex Normal 50toNormal :: Complex Polar -> Complex Normal
43toNormal 51toNormal
44 = \(a :: _) -> case'Complex 52 = \(a :: _) -> case'Complex
45 (\_ _ -> _) 53 (\_ _ -> _)
46 (\(b :: _) (c :: _) -> _rhs (Complex (b * cos c) (b * sin c))) 54 (\(b :: _) (c :: _) -> _rhs (Complex (b * cos c) (b * sin c)))
47 a 55 a
56
48it_should_fail = \(a :: _) -> case'Complex (\_ _ -> _) (\(b :: _) _ -> _rhs b) a 57it_should_fail = \(a :: _) -> case'Complex (\_ _ -> _) (\(b :: _) _ -> _rhs b) a
58
49add :: forall (a :: _) (b :: _) . Complex a -> Complex b -> Complex a 59add :: forall (a :: _) (b :: _) . Complex a -> Complex b -> Complex a
50add 60add
51 = \ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr 61 = \ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr
@@ -63,6 +73,7 @@ add
63 b) 73 b)
64 (_rhs undefined) 74 (_rhs undefined)
65 a 75 a
76
66mul :: forall (a :: _) (b :: _) . Complex a -> Complex b -> Complex a 77mul :: forall (a :: _) (b :: _) . Complex a -> Complex b -> Complex a
67mul 78mul
68 = \ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr 79 = \ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr
@@ -80,12 +91,15 @@ mul
80 b) 91 b)
81 (_rhs undefined) 92 (_rhs undefined)
82 a 93 a
94
83s :: forall (a :: _) . Complex a -> Complex a 95s :: forall (a :: _) . Complex a -> Complex a
84s = \(a :: _) -> _rhs (mul a a `add` a) 96s = \(a :: _) -> _rhs (mul a a `add` a)
97
85s4 = \(a :: _) -> _rhs (s (s (s (s a)))) 98s4 = \(a :: _) -> _rhs (s (s (s (s a))))
99
86iter = _rhs s4 100iter = _rhs s4
101
87mandel = \(a :: _) -> _rhs (cabs (iter a) < 2.0) 102mandel = \(a :: _) -> _rhs (cabs (iter a) < 2.0)
88main is not found
89------------ trace 103------------ trace
90'Repr :: Type 104'Repr :: Type
91Normal :: Repr 105Normal :: Repr
diff --git a/testdata/data.out b/testdata/data.out
index d1952aed..1f6a592f 100644
--- a/testdata/data.out
+++ b/testdata/data.out
@@ -1,13 +1,17 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2data Data0 :: Type where 3data Data0 :: Type where
3 Data0 :: Data0 4 Data0 :: Data0
5
4data Data1 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where 6data Data1 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where
5 Data1 :: forall a b c . a -> b -> c -> Data1 a b c 7 Data1 :: forall a b c . a -> b -> c -> Data1 a b c
8
6data Data2 :: Type where 9data Data2 :: Type where
7 Data21 :: Int -> Data2 10 Data21 :: Int -> Data2
8 Data22 :: Int -> Int -> Data2 11 Data22 :: Int -> Int -> Data2
9 Data23 :: Int -> Data2 12 Data23 :: Int -> Data2
10 Data24 :: Data2 13 Data24 :: Data2
14
11x 15x
12 = \(a :: _) -> case'Data2 16 = \(a :: _) -> case'Data2
13 (\_ -> _) 17 (\_ -> _)
@@ -16,6 +20,7 @@ x
16 (\(c :: _) -> _rhs c) 20 (\(c :: _) -> _rhs c)
17 (_rhs undefined) 21 (_rhs undefined)
18 a 22 a
23
19y 24y
20 = \(a :: _) -> case'Data2 25 = \(a :: _) -> case'Data2
21 (\_ -> _) 26 (\_ -> _)
@@ -24,10 +29,12 @@ y
24 (\_ -> _rhs undefined) 29 (\_ -> _rhs undefined)
25 (_rhs undefined) 30 (_rhs undefined)
26 a 31 a
32
27data Data5 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where 33data Data5 (_ :: Type) (_ :: Type) (_ :: Type) :: Type where
28 Data51 :: forall a b c . a -> Data5 a b c 34 Data51 :: forall a b c . a -> Data5 a b c
29 Data52 :: forall d e f . d -> e -> f -> Data5 d e f 35 Data52 :: forall d e f . d -> e -> f -> Data5 d e f
30 Data53 :: forall g h i . Int -> g -> Float -> h -> i -> Data5 g h i 36 Data53 :: forall g h i . Int -> g -> Float -> h -> i -> Data5 g h i
37
31a5 38a5
32 = \(a :: _) -> case'Data5 39 = \(a :: _) -> case'Data5
33 (\_ -> _) 40 (\_ -> _)
@@ -35,6 +42,7 @@ a5
35 (\(c :: _) _ _ -> _rhs c) 42 (\(c :: _) _ _ -> _rhs c)
36 (\_ _ _ _ _ -> _rhs undefined) 43 (\_ _ _ _ _ -> _rhs undefined)
37 a 44 a
45
38b5 46b5
39 = \(a :: _) -> case'Data5 47 = \(a :: _) -> case'Data5
40 (\_ -> _) 48 (\_ -> _)
@@ -42,6 +50,7 @@ b5
42 (\_ (b :: _) _ -> _rhs b) 50 (\_ (b :: _) _ -> _rhs b)
43 (\_ _ _ _ _ -> _rhs undefined) 51 (\_ _ _ _ _ -> _rhs undefined)
44 a 52 a
53
45c5 54c5
46 = \(a :: _) -> case'Data5 55 = \(a :: _) -> case'Data5
47 (\_ -> _) 56 (\_ -> _)
@@ -49,7 +58,6 @@ c5
49 (\_ _ (b :: _) -> _rhs b) 58 (\_ _ (b :: _) -> _rhs b)
50 (\_ _ _ _ _ -> _rhs undefined) 59 (\_ _ _ _ _ -> _rhs undefined)
51 a 60 a
52main is not found
53------------ trace 61------------ trace
54'Data0 :: Type 62'Data0 :: Type
55Data0 :: Data0 63Data0 :: Data0
diff --git a/testdata/empty.out b/testdata/empty.out
index 41c61ca7..4cf07220 100644
--- a/testdata/empty.out
+++ b/testdata/empty.out
@@ -1,7 +1,7 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2data Empty :: Type where 3data Empty :: Type where
3 4
4main is not found
5------------ trace 5------------ trace
6'Empty :: Type 6'Empty :: Type
7case'Empty :: forall (a :: Empty -> Type) (b :: Empty) -> a b 7case'Empty :: forall (a :: Empty -> Type) (b :: Empty) -> a b
diff --git a/testdata/id.out b/testdata/id.out
index 3273b516..b087590c 100644
--- a/testdata/id.out
+++ b/testdata/id.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2main' = _rhs \(a := _rhs \(b :: _) -> b) -> HCons (a 4.0) (HCons (a True) HNil) 3main' = _rhs \(a := _rhs \(b :: _) -> b) -> HCons (a 4.0) (HCons (a True) HNil)
3main is not found
4------------ trace 4------------ trace
5main' :: (Float, Bool) 5main' :: (Float, Bool)
6------------ tooltips 6------------ tooltips
diff --git a/testdata/instantiate.out b/testdata/instantiate.out
index e6746d48..66d45bf7 100644
--- a/testdata/instantiate.out
+++ b/testdata/instantiate.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2main' = _rhs \(a := _rhs PrimAdd) -> a (V2 1.0 2.0) (V2 1.0 2.0) 3main' = _rhs \(a := _rhs PrimAdd) -> a (V2 1.0 2.0) (V2 1.0 2.0)
3main is not found
4------------ trace 4------------ trace
5main' :: VecS Float 2 5main' :: VecS Float 2
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-list/list01.out b/testdata/language-features/basic-list/list01.out
index 5df5b1a0..41b1f057 100644
--- a/testdata/language-features/basic-list/list01.out
+++ b/testdata/language-features/basic-list/list01.out
@@ -1,8 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs [] 3value1 = _rhs []
4
3value2 = _rhs (fromInt 1 : fromInt 2 : fromInt 3 : fromInt 4 : []) 5value2 = _rhs (fromInt 1 : fromInt 2 : fromInt 3 : fromInt 4 : [])
6
4value3 = _rhs ('h' : 'e' : 'l' : 'l' : 'o' : []) 7value3 = _rhs ('h' : 'e' : 'l' : 'l' : 'o' : [])
5main is not found
6------------ trace 8------------ trace
7value1 :: forall a . [a] 9value1 :: forall a . [a]
8value2 :: forall a . Num a => [a] 10value2 :: forall a . Num a => [a]
diff --git a/testdata/language-features/basic-list/list02.out b/testdata/language-features/basic-list/list02.out
index dec74991..6101a1fa 100644
--- a/testdata/language-features/basic-list/list02.out
+++ b/testdata/language-features/basic-list/list02.out
@@ -1,8 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs [] 3value1 = _rhs []
4
3value2 = _rhs (fromInt 1 : fromInt 2 : fromInt 3 : fromInt 4 : []) 5value2 = _rhs (fromInt 1 : fromInt 2 : fromInt 3 : fromInt 4 : [])
6
4value3 = _rhs ('h' : 'e' : 'l' : 'l' : 'o' : []) 7value3 = _rhs ('h' : 'e' : 'l' : 'l' : 'o' : [])
5main is not found
6------------ trace 8------------ trace
7value1 :: forall a . [a] 9value1 :: forall a . [a]
8value2 :: forall a . Num a => [a] 10value2 :: forall a . Num a => [a]
diff --git a/testdata/language-features/basic-list/list08.out b/testdata/language-features/basic-list/list08.out
index aebab457..800c75aa 100644
--- a/testdata/language-features/basic-list/list08.out
+++ b/testdata/language-features/basic-list/list08.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs (fromInt 1 : 1.2 : []) 3value = _rhs (fromInt 1 : 1.2 : [])
3main is not found
4------------ trace 4------------ trace
5value :: [Float] 5value :: [Float]
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-list/list09.out b/testdata/language-features/basic-list/list09.out
index 11abf486..79bb9d42 100644
--- a/testdata/language-features/basic-list/list09.out
+++ b/testdata/language-features/basic-list/list09.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs (fromInt 1 : 1.2 : [] :: [Float]) 3value = _rhs (fromInt 1 : 1.2 : [] :: [Float])
3main is not found
4------------ trace 4------------ trace
5value :: [Float] 5value :: [Float]
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-list/list11.out b/testdata/language-features/basic-list/list11.out
index b70c324c..005c6959 100644
--- a/testdata/language-features/basic-list/list11.out
+++ b/testdata/language-features/basic-list/list11.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs (fromInt 1 : []) 3value = _rhs (fromInt 1 : [])
3main is not found
4------------ trace 4------------ trace
5value :: forall a . Num a => [a] 5value :: forall a . Num a => [a]
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-list/list12.out b/testdata/language-features/basic-list/list12.out
index 5a5f796d..75cc03e1 100644
--- a/testdata/language-features/basic-list/list12.out
+++ b/testdata/language-features/basic-list/list12.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs (fromInt 1 : fromInt 2 : fromInt 3 : fromInt 4 : fromInt 5 : []) 3value = _rhs (fromInt 1 : fromInt 2 : fromInt 3 : fromInt 4 : fromInt 5 : [])
3main is not found
4------------ trace 4------------ trace
5value :: forall a . Num a => [a] 5value :: forall a . Num a => [a]
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-list/list13.out b/testdata/language-features/basic-list/list13.out
index 66403b86..9e72ee74 100644
--- a/testdata/language-features/basic-list/list13.out
+++ b/testdata/language-features/basic-list/list13.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs ('h' : 'e' : 'l' : 'l' : 'o' : []) 3value = _rhs ('h' : 'e' : 'l' : 'l' : 'o' : [])
3main is not found
4------------ trace 4------------ trace
5value :: [Char] 5value :: [Char]
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-list/listcomp01.out b/testdata/language-features/basic-list/listcomp01.out
index fe914476..52af0c94 100644
--- a/testdata/language-features/basic-list/listcomp01.out
+++ b/testdata/language-features/basic-list/listcomp01.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs (concatMap (\_ -> HNil : []) (HNil : HNil : HNil : HNil : [])) 3value = _rhs (concatMap (\_ -> HNil : []) (HNil : HNil : HNil : HNil : []))
3main is not found
4------------ trace 4------------ trace
5value :: [()] 5value :: [()]
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-list/listcomp02.out b/testdata/language-features/basic-list/listcomp02.out
index 8d7d9de5..7a2a2998 100644
--- a/testdata/language-features/basic-list/listcomp02.out
+++ b/testdata/language-features/basic-list/listcomp02.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2l = _rhs (HNil : HNil : HNil : HNil : []) 3l = _rhs (HNil : HNil : HNil : HNil : [])
4
3value = _rhs (concatMap (\(a :: _) -> a : []) l) 5value = _rhs (concatMap (\(a :: _) -> a : []) l)
4main is not found
5------------ trace 6------------ trace
6l :: [()] 7l :: [()]
7value :: [()] 8value :: [()]
diff --git a/testdata/language-features/basic-list/listcomp03.out b/testdata/language-features/basic-list/listcomp03.out
index 3de6ae88..ee6dfd4a 100644
--- a/testdata/language-features/basic-list/listcomp03.out
+++ b/testdata/language-features/basic-list/listcomp03.out
@@ -1,10 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = _rhs 4 = _rhs
4 (concatMap 5 (concatMap
5 (\_ -> primIfThenElse False (HNil : []) []) 6 (\_ -> primIfThenElse False (HNil : []) [])
6 (HNil : HNil : HNil : HNil : [])) 7 (HNil : HNil : HNil : HNil : []))
7main is not found
8------------ trace 8------------ trace
9value :: [()] 9value :: [()]
10------------ tooltips 10------------ tooltips
diff --git a/testdata/language-features/basic-list/listcomp04.out b/testdata/language-features/basic-list/listcomp04.out
index dce40a1a..1069a83b 100644
--- a/testdata/language-features/basic-list/listcomp04.out
+++ b/testdata/language-features/basic-list/listcomp04.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2l = _rhs (HNil : HNil : HNil : HNil : []) 3l = _rhs (HNil : HNil : HNil : HNil : [])
4
3value = _rhs (concatMap (\_ -> concatMap (\_ -> HNil : []) l) l) 5value = _rhs (concatMap (\_ -> concatMap (\_ -> HNil : []) l) l)
4main is not found
5------------ trace 6------------ trace
6l :: [()] 7l :: [()]
7value :: [()] 8value :: [()]
diff --git a/testdata/language-features/basic-list/listcomp05.out b/testdata/language-features/basic-list/listcomp05.out
index 69de4559..b9c7afdb 100644
--- a/testdata/language-features/basic-list/listcomp05.out
+++ b/testdata/language-features/basic-list/listcomp05.out
@@ -1,10 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = _rhs 4 = _rhs
4 (concatMap 5 (concatMap
5 (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : []) 6 (\_ (a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : [])
6 (HNil : HNil : [])) 7 (HNil : HNil : []))
7main is not found
8------------ trace 8------------ trace
9value :: [()] 9value :: [()]
10------------ tooltips 10------------ tooltips
diff --git a/testdata/language-features/basic-list/listcomp06.out b/testdata/language-features/basic-list/listcomp06.out
index 590793bb..51a69cf6 100644
--- a/testdata/language-features/basic-list/listcomp06.out
+++ b/testdata/language-features/basic-list/listcomp06.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 3value1
3 = _rhs 4 = _rhs
@@ -7,6 +8,7 @@ value1
7 (b : []) 8 (b : [])
8 []) 9 [])
9 (HNil : HNil : [])) 10 (HNil : HNil : []))
11
10value2 12value2
11 = _rhs 13 = _rhs
12 (concatMap 14 (concatMap
@@ -15,7 +17,6 @@ value2
15 (\(a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : []) 17 (\(a := _rhs HNil) (b := _rhs ((\(c :: _) -> c) a)) -> b : [])
16 []) 18 [])
17 (HNil : HNil : [])) 19 (HNil : HNil : []))
18main is not found
19------------ trace 20------------ trace
20value1 :: [()] 21value1 :: [()]
21value2 :: [()] 22value2 :: [()]
diff --git a/testdata/language-features/basic-list/listcomp07.out b/testdata/language-features/basic-list/listcomp07.out
index a3e5a671..483d128f 100644
--- a/testdata/language-features/basic-list/listcomp07.out
+++ b/testdata/language-features/basic-list/listcomp07.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 3value1
3 = _rhs 4 = _rhs
@@ -7,6 +8,7 @@ value1
7 (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : []) 8 (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [])
8 []) 9 [])
9 (HNil : HNil : [])) 10 (HNil : HNil : []))
11
10value2 12value2
11 = _rhs 13 = _rhs
12 (concatMap 14 (concatMap
@@ -15,6 +17,7 @@ value2
15 (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : []) 17 (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [])
16 []) 18 [])
17 (HNil : HNil : [])) 19 (HNil : HNil : []))
20
18value3 21value3
19 = _rhs 22 = _rhs
20 (concatMap 23 (concatMap
@@ -23,7 +26,6 @@ value3
23 (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : []) 26 (\(d := _rhs b) (e := _rhs ((\(f :: _) -> f) d)) -> b : [])
24 []) 27 [])
25 (HNil : HNil : [])) 28 (HNil : HNil : []))
26main is not found
27------------ trace 29------------ trace
28value1 :: [()] 30value1 :: [()]
29value2 :: [()] 31value2 :: [()]
diff --git a/testdata/language-features/basic-list/listcomp09.out b/testdata/language-features/basic-list/listcomp09.out
index 96351e61..75d2dbf5 100644
--- a/testdata/language-features/basic-list/listcomp09.out
+++ b/testdata/language-features/basic-list/listcomp09.out
@@ -1,7 +1,7 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 3value1
3 = _rhs (concatMap (\_ -> (\(a :: _) -> hlistNilCase _ "Hello" a) : []) []) 4 = _rhs (concatMap (\_ -> (\(a :: _) -> hlistNilCase _ "Hello" a) : []) [])
4main is not found
5------------ trace 5------------ trace
6value1 :: Type => [() -> String] 6value1 :: Type => [() -> String]
7------------ tooltips 7------------ tooltips
diff --git a/testdata/language-features/basic-values/bool01.out b/testdata/language-features/basic-values/bool01.out
index 80315cf0..339dbe3a 100644
--- a/testdata/language-features/basic-values/bool01.out
+++ b/testdata/language-features/basic-values/bool01.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs True 3value1 = _rhs True
4
3value2 = _rhs False 5value2 = _rhs False
4main is not found
5------------ trace 6------------ trace
6value1 :: Bool 7value1 :: Bool
7value2 :: Bool 8value2 :: Bool
diff --git a/testdata/language-features/basic-values/case01.out b/testdata/language-features/basic-values/case01.out
index 8b4334e6..7a952e7a 100644
--- a/testdata/language-features/basic-values/case01.out
+++ b/testdata/language-features/basic-values/case01.out
@@ -1,11 +1,16 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs ((\(a :: _) -> hlistNilCase _ HNil a) HNil) 3value1 = _rhs ((\(a :: _) -> hlistNilCase _ HNil a) HNil)
4
3value2 = _rhs ((\(a :: _) -> hlistNilCase _ HNil a) HNil) 5value2 = _rhs ((\(a :: _) -> hlistNilCase _ HNil a) HNil)
6
4value3 = _rhs ((\(a :: _) -> hlistNilCase _ HNil a) HNil) 7value3 = _rhs ((\(a :: _) -> hlistNilCase _ HNil a) HNil)
8
5value4 = _rhs ((\(a :: _) -> hlistNilCase _ HNil a) HNil) 9value4 = _rhs ((\(a :: _) -> hlistNilCase _ HNil a) HNil)
10
6value5 = _rhs ((\(a :: _) -> hlistNilCase _ HNil a) HNil) 11value5 = _rhs ((\(a :: _) -> hlistNilCase _ HNil a) HNil)
12
7value6 = _rhs ((\_ -> HNil) HNil) 13value6 = _rhs ((\_ -> HNil) HNil)
8main is not found
9------------ trace 14------------ trace
10value1 :: () 15value1 :: ()
11value2 :: () 16value2 :: ()
diff --git a/testdata/language-features/basic-values/case02.out b/testdata/language-features/basic-values/case02.out
index a5f57070..9456dae9 100644
--- a/testdata/language-features/basic-values/case02.out
+++ b/testdata/language-features/basic-values/case02.out
@@ -1,7 +1,9 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 3value1
3 = _rhs 4 = _rhs
4 ((\(a :: _) -> case'Bool (\_ -> _) HNil HNil (fromInt 1 == a)) (fromInt 1)) 5 ((\(a :: _) -> case'Bool (\_ -> _) HNil HNil (fromInt 1 == a)) (fromInt 1))
6
5value2 7value2
6 = _rhs 8 = _rhs
7 ((\(a :: _) -> case'Bool 9 ((\(a :: _) -> case'Bool
@@ -10,7 +12,6 @@ value2
10 "1" 12 "1"
11 (fromInt 1 == a)) 13 (fromInt 1 == a))
12 (fromInt 2)) 14 (fromInt 2))
13main is not found
14------------ trace 15------------ trace
15value1 :: forall a . (Eq a, Num a) => () 16value1 :: forall a . (Eq a, Num a) => ()
16value2 :: forall a . (Eq a, Num a, Eq a, Num a) => String 17value2 :: forall a . (Eq a, Num a, Eq a, Num a) => String
diff --git a/testdata/language-features/basic-values/case05.out b/testdata/language-features/basic-values/case05.out
index e099d30d..2c1ab232 100644
--- a/testdata/language-features/basic-values/case05.out
+++ b/testdata/language-features/basic-values/case05.out
@@ -1,8 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = \(a :: _) -> _rhs 4 = \(a :: _) -> _rhs
4 ((\(b :: _) -> case'Bool (\_ -> _) undefined '1' (fromInt 1 == b)) a) 5 ((\(b :: _) -> case'Bool (\_ -> _) undefined '1' (fromInt 1 == b)) a)
5main is not found
6------------ trace 6------------ trace
7value :: forall a . (Eq a, Num a) => a -> Char 7value :: forall a . (Eq a, Num a) => a -> Char
8------------ tooltips 8------------ tooltips
diff --git a/testdata/language-features/basic-values/case06.out b/testdata/language-features/basic-values/case06.out
index aaeff605..65999ca4 100644
--- a/testdata/language-features/basic-values/case06.out
+++ b/testdata/language-features/basic-values/case06.out
@@ -1,8 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = \(a :: _) -> _rhs 4 = \(a :: _) -> _rhs
4 ((\(b :: _) -> case'Bool (\_ -> _) '_' '1' (fromInt 1 == b)) a) 5 ((\(b :: _) -> case'Bool (\_ -> _) '_' '1' (fromInt 1 == b)) a)
5main is not found
6------------ trace 6------------ trace
7value :: forall a . (Eq a, Num a) => a -> Char 7value :: forall a . (Eq a, Num a) => a -> Char
8------------ tooltips 8------------ tooltips
diff --git a/testdata/language-features/basic-values/data01.out b/testdata/language-features/basic-values/data01.out
index 7845cf0a..9efc26b6 100644
--- a/testdata/language-features/basic-values/data01.out
+++ b/testdata/language-features/basic-values/data01.out
@@ -1,17 +1,19 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2data A :: Type where 3data A :: Type where
3 B :: A 4 B :: A
4 C :: A 5 C :: A
5 D :: A 6 D :: A
7
6data E :: Type where 8data E :: Type where
7 F :: E 9 F :: E
8 G :: HList '[] -> E 10 G :: HList '[] -> E
9 H :: E 11 H :: E
12
10data D1 :: Type where 13data D1 :: Type where
11 C1 :: D1 14 C1 :: D1
12 C2 :: HList '[] -> D1 15 C2 :: HList '[] -> D1
13 C3 :: D1 16 C3 :: D1
14main is not found
15------------ trace 17------------ trace
16'A :: Type 18'A :: Type
17B :: A 19B :: A
diff --git a/testdata/language-features/basic-values/def01.out b/testdata/language-features/basic-values/def01.out
index 6aa4d014..520b99c3 100644
--- a/testdata/language-features/basic-values/def01.out
+++ b/testdata/language-features/basic-values/def01.out
@@ -1,8 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2unit = _rhs HNil 3unit = _rhs HNil
4
3fun1 = \_ -> _rhs (fromInt 1) 5fun1 = \_ -> _rhs (fromInt 1)
6
4fun2 = \_ _ _ _ _ -> _rhs 'c' 7fun2 = \_ _ _ _ _ -> _rhs 'c'
5main is not found
6------------ trace 8------------ trace
7unit :: () 9unit :: ()
8fun1 :: forall a b . Num b => a -> b 10fun1 :: forall a b . Num b => a -> b
diff --git a/testdata/language-features/basic-values/def03.out b/testdata/language-features/basic-values/def03.out
index ceb6a8e1..c4bed094 100644
--- a/testdata/language-features/basic-values/def03.out
+++ b/testdata/language-features/basic-values/def03.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun 3fun
3 = \(a :: _) -> case'Bool 4 = \(a :: _) -> case'Bool
@@ -5,7 +6,6 @@ fun
5 (case'Bool (\_ -> _) (_rhs undefined) (_rhs '2') (fromInt 2 == a)) 6 (case'Bool (\_ -> _) (_rhs undefined) (_rhs '2') (fromInt 2 == a))
6 (_rhs '1') 7 (_rhs '1')
7 (fromInt 1 == a) 8 (fromInt 1 == a)
8main is not found
9------------ trace 9------------ trace
10fun :: forall a . (Eq a, Num a, Eq a, Num a) => a -> Char 10fun :: forall a . (Eq a, Num a, Eq a, Num a) => a -> Char
11------------ tooltips 11------------ tooltips
diff --git a/testdata/language-features/basic-values/def04.out b/testdata/language-features/basic-values/def04.out
index e52f9d64..e6dfbba7 100644
--- a/testdata/language-features/basic-values/def04.out
+++ b/testdata/language-features/basic-values/def04.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun 3fun
3 = \(a :: _) -> case'Bool 4 = \(a :: _) -> case'Bool
@@ -5,13 +6,13 @@ fun
5 (case'Bool (\_ -> _) (_rhs '_') (_rhs '2') (fromInt 2 == a)) 6 (case'Bool (\_ -> _) (_rhs '_') (_rhs '2') (fromInt 2 == a))
6 (_rhs '1') 7 (_rhs '1')
7 (fromInt 1 == a) 8 (fromInt 1 == a)
9
8fun2 10fun2
9 = \(a :: _) _ -> case'Bool 11 = \(a :: _) _ -> case'Bool
10 (\_ -> _) 12 (\_ -> _)
11 (case'Bool (\_ -> _) (_rhs '_') (_rhs '2') (fromInt 2 == a)) 13 (case'Bool (\_ -> _) (_rhs '_') (_rhs '2') (fromInt 2 == a))
12 (_rhs '1') 14 (_rhs '1')
13 (fromInt 1 == a) 15 (fromInt 1 == a)
14main is not found
15------------ trace 16------------ trace
16fun :: forall a . (Eq a, Num a, Eq a, Num a) => a -> Char 17fun :: forall a . (Eq a, Num a, Eq a, Num a) => a -> Char
17fun2 :: forall a b . (Eq a, Num a, Eq a, Num a) => a -> b -> Char 18fun2 :: forall a b . (Eq a, Num a, Eq a, Num a) => a -> b -> Char
diff --git a/testdata/language-features/basic-values/deforder01.out b/testdata/language-features/basic-values/deforder01.out
index 2d6ace49..14117b02 100644
--- a/testdata/language-features/basic-values/deforder01.out
+++ b/testdata/language-features/basic-values/deforder01.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2x = _rhs '1' 3x = _rhs '1'
4
3y = _rhs x 5y = _rhs x
4main is not found
5------------ trace 6------------ trace
6x :: Char 7x :: Char
7y :: Char 8y :: Char
diff --git a/testdata/language-features/basic-values/deforder02.out b/testdata/language-features/basic-values/deforder02.out
index 7a36e690..23d62c33 100644
--- a/testdata/language-features/basic-values/deforder02.out
+++ b/testdata/language-features/basic-values/deforder02.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2x = _rhs '1' 3x = _rhs '1'
4
3y = _rhs x 5y = _rhs x
4main is not found
5------------ trace 6------------ trace
6x :: Char 7x :: Char
7y :: Char 8y :: Char
diff --git a/testdata/language-features/basic-values/deforder03.out b/testdata/language-features/basic-values/deforder03.out
index efc49155..8065aa9f 100644
--- a/testdata/language-features/basic-values/deforder03.out
+++ b/testdata/language-features/basic-values/deforder03.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs \(a := _rhs HNil) (b := _rhs a) -> '1' 3value = _rhs \(a := _rhs HNil) (b := _rhs a) -> '1'
3main is not found
4------------ trace 4------------ trace
5value :: Char 5value :: Char
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-values/deforder04.out b/testdata/language-features/basic-values/deforder04.out
index 05e51d11..8f80d78e 100644
--- a/testdata/language-features/basic-values/deforder04.out
+++ b/testdata/language-features/basic-values/deforder04.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs \(a := _rhs HNil) (b := _rhs a) -> '1' 3value = _rhs \(a := _rhs HNil) (b := _rhs a) -> '1'
3main is not found
4------------ trace 4------------ trace
5value :: Char 5value :: Char
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-values/deforder05.out b/testdata/language-features/basic-values/deforder05.out
index b5da0fdd..853498eb 100644
--- a/testdata/language-features/basic-values/deforder05.out
+++ b/testdata/language-features/basic-values/deforder05.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs \(a := _rhs HNil) (b := _rhs a) -> '1' 3value = _rhs \(a := _rhs HNil) (b := _rhs a) -> '1'
3main is not found
4------------ trace 4------------ trace
5value :: Char 5value :: Char
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-values/deforder06.out b/testdata/language-features/basic-values/deforder06.out
index 7c4a2b4a..565b3ee0 100644
--- a/testdata/language-features/basic-values/deforder06.out
+++ b/testdata/language-features/basic-values/deforder06.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs \(a := _rhs HNil) (b := _rhs a) -> '1' 3value = _rhs \(a := _rhs HNil) (b := _rhs a) -> '1'
3main is not found
4------------ trace 4------------ trace
5value :: Char 5value :: Char
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-values/fixity01.out b/testdata/language-features/basic-values/fixity01.out
index bcc2a126..22e2ae45 100644
--- a/testdata/language-features/basic-values/fixity01.out
+++ b/testdata/language-features/basic-values/fixity01.out
@@ -1,13 +1,20 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2funL = \(a :: _) _ -> _rhs a 3funL = \(a :: _) _ -> _rhs a
4
3funR = \(a :: _) _ -> _rhs a 5funR = \(a :: _) _ -> _rhs a
6
4(<<<<) = \(a :: _) _ -> _rhs a 7(<<<<) = \(a :: _) _ -> _rhs a
8
5(>>>>) = \_ (a :: _) -> _rhs a 9(>>>>) = \_ (a :: _) -> _rhs a
10
6infixr 7 funL 11infixr 7 funL
12
7infixr 7 <<<< 13infixr 7 <<<<
14
8infixr 6 >>>> 15infixr 6 >>>>
16
9infixr 6 funR 17infixr 6 funR
10main is not found
11------------ trace 18------------ trace
12funL :: forall a b . a -> b -> a 19funL :: forall a b . a -> b -> a
13funR :: forall a b . a -> b -> a 20funR :: forall a b . a -> b -> a
diff --git a/testdata/language-features/basic-values/fixity02.out b/testdata/language-features/basic-values/fixity02.out
index acdd5309..841eda57 100644
--- a/testdata/language-features/basic-values/fixity02.out
+++ b/testdata/language-features/basic-values/fixity02.out
@@ -1,29 +1,52 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2funL = \(a :: _) _ -> _rhs a 3funL = \(a :: _) _ -> _rhs a
4
3funR = \_ (a :: _) -> _rhs a 5funR = \_ (a :: _) -> _rhs a
6
4(<@) = \(a :: _) _ -> _rhs a 7(<@) = \(a :: _) _ -> _rhs a
8
5(@>) = \_ (a :: _) -> _rhs a 9(@>) = \_ (a :: _) -> _rhs a
10
6infixr 7 funL 11infixr 7 funL
12
7infixr 7 <@ 13infixr 7 <@
14
8infixr 6 @> 15infixr 6 @>
16
9infixr 6 funR 17infixr 6 funR
18
10value1 = _rhs (HNil @> 'c' @> "hi" @> 1.2 :: Float) 19value1 = _rhs (HNil @> 'c' @> "hi" @> 1.2 :: Float)
20
11value2 = _rhs (HNil @> 'c' <@ "hi" @> 1.2 :: Float) 21value2 = _rhs (HNil @> 'c' <@ "hi" @> 1.2 :: Float)
22
12value3 = _rhs (HNil <@ 'c' @> "hi" @> 1.2 :: Float) 23value3 = _rhs (HNil <@ 'c' @> "hi" @> 1.2 :: Float)
24
13value4 = _rhs (HNil <@ 'c' <@ "hi" @> 1.2 :: Float) 25value4 = _rhs (HNil <@ 'c' <@ "hi" @> 1.2 :: Float)
26
14value5 = _rhs (HNil @> 'c' @> "hi" <@ 1.2 :: String) 27value5 = _rhs (HNil @> 'c' @> "hi" <@ 1.2 :: String)
28
15value6 = _rhs (HNil @> 'c' <@ "hi" <@ 1.2 :: Char) 29value6 = _rhs (HNil @> 'c' <@ "hi" <@ 1.2 :: Char)
30
16value7 = _rhs (HNil <@ 'c' @> "hi" <@ 1.2 :: String) 31value7 = _rhs (HNil <@ 'c' @> "hi" <@ 1.2 :: String)
32
17value8 = _rhs (HNil <@ 'c' <@ "hi" <@ 1.2 :: HList '[]) 33value8 = _rhs (HNil <@ 'c' <@ "hi" <@ 1.2 :: HList '[])
34
18funValue1 = _rhs (HNil `funR` 'c' `funR` "hi" `funR` 1.2 :: Float) 35funValue1 = _rhs (HNil `funR` 'c' `funR` "hi" `funR` 1.2 :: Float)
36
19funValue2 = _rhs (HNil `funR` 'c' `funL` "hi" `funR` 1.2 :: Float) 37funValue2 = _rhs (HNil `funR` 'c' `funL` "hi" `funR` 1.2 :: Float)
38
20funValue3 = _rhs (HNil `funL` 'c' `funR` "hi" `funR` 1.2 :: Float) 39funValue3 = _rhs (HNil `funL` 'c' `funR` "hi" `funR` 1.2 :: Float)
40
21funValue4 = _rhs (HNil `funL` 'c' `funL` "hi" `funR` 1.2 :: Float) 41funValue4 = _rhs (HNil `funL` 'c' `funL` "hi" `funR` 1.2 :: Float)
42
22funValue5 = _rhs (HNil `funR` 'c' `funR` "hi" `funL` 1.2 :: String) 43funValue5 = _rhs (HNil `funR` 'c' `funR` "hi" `funL` 1.2 :: String)
44
23funValue6 = _rhs (HNil `funR` 'c' `funL` "hi" `funL` 1.2 :: Char) 45funValue6 = _rhs (HNil `funR` 'c' `funL` "hi" `funL` 1.2 :: Char)
46
24funValue7 = _rhs (HNil `funL` 'c' `funR` "hi" `funL` 1.2 :: String) 47funValue7 = _rhs (HNil `funL` 'c' `funR` "hi" `funL` 1.2 :: String)
48
25funValue8 = _rhs (HNil `funL` 'c' `funL` "hi" `funL` 1.2 :: HList '[]) 49funValue8 = _rhs (HNil `funL` 'c' `funL` "hi" `funL` 1.2 :: HList '[])
26main is not found
27------------ trace 50------------ trace
28funL :: forall a b . a -> b -> a 51funL :: forall a b . a -> b -> a
29funR :: forall a b . a -> b -> b 52funR :: forall a b . a -> b -> b
diff --git a/testdata/language-features/basic-values/if01.out b/testdata/language-features/basic-values/if01.out
index b16d8586..fdd04aba 100644
--- a/testdata/language-features/basic-values/if01.out
+++ b/testdata/language-features/basic-values/if01.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs (primIfThenElse True HNil HNil) 3value1 = _rhs (primIfThenElse True HNil HNil)
4
3value2 = _rhs (primIfThenElse False 1.0 2.0) 5value2 = _rhs (primIfThenElse False 1.0 2.0)
4main is not found
5------------ trace 6------------ trace
6value1 :: () 7value1 :: ()
7value2 :: Float 8value2 :: Float
diff --git a/testdata/language-features/basic-values/indentation01.out b/testdata/language-features/basic-values/indentation01.out
index a607690b..3c77aa23 100644
--- a/testdata/language-features/basic-values/indentation01.out
+++ b/testdata/language-features/basic-values/indentation01.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2tuple1 = _rhs HNil 3tuple1 = _rhs HNil
4
3tuple2 = _rhs HNil 5tuple2 = _rhs HNil
4main is not found
5------------ trace 6------------ trace
6tuple1 :: () 7tuple1 :: ()
7tuple2 :: () 8tuple2 :: ()
diff --git a/testdata/language-features/basic-values/indentation02.out b/testdata/language-features/basic-values/indentation02.out
index 97b138e0..9a4cafc0 100644
--- a/testdata/language-features/basic-values/indentation02.out
+++ b/testdata/language-features/basic-values/indentation02.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2tuple1 = _rhs HNil 3tuple1 = _rhs HNil
4
3tuple2 = _rhs HNil 5tuple2 = _rhs HNil
4main is not found
5------------ trace 6------------ trace
6tuple1 :: () 7tuple1 :: ()
7tuple2 :: () 8tuple2 :: ()
diff --git a/testdata/language-features/basic-values/infix01.out b/testdata/language-features/basic-values/infix01.out
index 013b0a25..3e4ec8a6 100644
--- a/testdata/language-features/basic-values/infix01.out
+++ b/testdata/language-features/basic-values/infix01.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun = \_ _ -> _rhs HNil 3fun = \_ _ -> _rhs HNil
4
3value = \(a :: _) (b :: _) -> _rhs (a `fun` b) 5value = \(a :: _) (b :: _) -> _rhs (a `fun` b)
4main is not found
5------------ trace 6------------ trace
6fun :: forall a b . a -> b -> () 7fun :: forall a b . a -> b -> ()
7value :: forall a b . a -> b -> () 8value :: forall a b . a -> b -> ()
diff --git a/testdata/language-features/basic-values/infix02.out b/testdata/language-features/basic-values/infix02.out
index dd15a9e9..be8609ef 100644
--- a/testdata/language-features/basic-values/infix02.out
+++ b/testdata/language-features/basic-values/infix02.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun = \_ _ _ -> _rhs HNil 3fun = \_ _ _ -> _rhs HNil
4
3value = \(a :: _) (b :: _) -> _rhs (a `fun` b) 5value = \(a :: _) (b :: _) -> _rhs (a `fun` b)
4main is not found
5------------ trace 6------------ trace
6fun :: forall a b c . a -> b -> c -> () 7fun :: forall a b c . a -> b -> c -> ()
7value :: forall a b c . a -> b -> c -> () 8value :: forall a b c . a -> b -> c -> ()
diff --git a/testdata/language-features/basic-values/infix03.out b/testdata/language-features/basic-values/infix03.out
index 81521b91..3b7d6ec2 100644
--- a/testdata/language-features/basic-values/infix03.out
+++ b/testdata/language-features/basic-values/infix03.out
@@ -1,10 +1,12 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2data D :: Type where 3data D :: Type where
3 D2 :: HList '[] -> HList '[] -> D 4 D2 :: HList '[] -> HList '[] -> D
4 D3 :: HList '[] -> HList '[] -> HList '[] -> D 5 D3 :: HList '[] -> HList '[] -> HList '[] -> D
6
5d2 = \(a :: _) (b :: _) -> _rhs (a `D2` b) 7d2 = \(a :: _) (b :: _) -> _rhs (a `D2` b)
8
6d3 = \(a :: _) (b :: _) -> _rhs (a `D3` b) 9d3 = \(a :: _) (b :: _) -> _rhs (a `D3` b)
7main is not found
8------------ trace 10------------ trace
9'D :: Type 11'D :: Type
10D2 :: () -> () -> D 12D2 :: () -> () -> D
diff --git a/testdata/language-features/basic-values/lambda01.out b/testdata/language-features/basic-values/lambda01.out
index 0d73915c..9a7c4583 100644
--- a/testdata/language-features/basic-values/lambda01.out
+++ b/testdata/language-features/basic-values/lambda01.out
@@ -1,9 +1,12 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun1 = _rhs \_ -> HNil 3fun1 = _rhs \_ -> HNil
4
3fun2 = _rhs \_ -> HNil 5fun2 = _rhs \_ -> HNil
6
4fun3 = _rhs \_ -> HNil 7fun3 = _rhs \_ -> HNil
8
5fun4 = _rhs \_ _ _ _ _ _ _ _ _ -> HNil 9fun4 = _rhs \_ _ _ _ _ _ _ _ _ -> HNil
6main is not found
7------------ trace 10------------ trace
8fun1 :: forall a . a -> () 11fun1 :: forall a . a -> ()
9fun2 :: forall a . a -> () 12fun2 :: forall a . a -> ()
diff --git a/testdata/language-features/basic-values/lambda03.out b/testdata/language-features/basic-values/lambda03.out
index 5ea529b3..97ee5c15 100644
--- a/testdata/language-features/basic-values/lambda03.out
+++ b/testdata/language-features/basic-values/lambda03.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun1 = _rhs \_ (a :: _) _ -> a 3fun1 = _rhs \_ (a :: _) _ -> a
4
3fun2 = \(a :: _) -> _rhs \_ _ _ -> a 5fun2 = \(a :: _) -> _rhs \_ _ _ -> a
4main is not found
5------------ trace 6------------ trace
6fun1 :: forall a b c . a -> b -> c -> b 7fun1 :: forall a b c . a -> b -> c -> b
7fun2 :: forall a b c d . a -> b -> c -> d -> a 8fun2 :: forall a b c d . a -> b -> c -> d -> a
diff --git a/testdata/language-features/basic-values/let01.out b/testdata/language-features/basic-values/let01.out
index 33524e88..dd6cad7e 100644
--- a/testdata/language-features/basic-values/let01.out
+++ b/testdata/language-features/basic-values/let01.out
@@ -1,10 +1,14 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs \(a := _rhs (fromInt 1)) -> fromInt 1 3value1 = _rhs \(a := _rhs (fromInt 1)) -> fromInt 1
4
3value2 = _rhs \(a := _rhs (fromInt 1)) -> fromInt 1 5value2 = _rhs \(a := _rhs (fromInt 1)) -> fromInt 1
6
4value3 = _rhs \(a := _rhs (fromInt 1)) (b := _rhs 'c') -> fromInt 1 7value3 = _rhs \(a := _rhs (fromInt 1)) (b := _rhs 'c') -> fromInt 1
8
5value4 = _rhs \(a := _rhs (fromInt 1)) -> fromInt 1 9value4 = _rhs \(a := _rhs (fromInt 1)) -> fromInt 1
10
6value5 = _rhs \(a := _rhs (fromInt 1)) (b := _rhs (fromInt 2)) -> fromInt 1 11value5 = _rhs \(a := _rhs (fromInt 1)) (b := _rhs (fromInt 2)) -> fromInt 1
7main is not found
8------------ trace 12------------ trace
9value1 :: forall a . Num a => a 13value1 :: forall a . Num a => a
10value2 :: forall a . Num a => a 14value2 :: forall a . Num a => a
diff --git a/testdata/language-features/basic-values/let02.out b/testdata/language-features/basic-values/let02.out
index 44be34a1..f4e67d6a 100644
--- a/testdata/language-features/basic-values/let02.out
+++ b/testdata/language-features/basic-values/let02.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = _rhs 4 = _rhs
@@ -6,7 +7,6 @@ value
6 (c 7 (c
7 := _rhs 8 := _rhs
8 \(e := _rhs HNil) (f := _rhs (fromInt 1)) (g := _rhs "hello") -> 'B') -> HNil 9 \(e := _rhs HNil) (f := _rhs (fromInt 1)) (g := _rhs "hello") -> 'B') -> HNil
9main is not found
10------------ trace 10------------ trace
11value :: () 11value :: ()
12------------ tooltips 12------------ tooltips
diff --git a/testdata/language-features/basic-values/literal01.out b/testdata/language-features/basic-values/literal01.out
index b45e2a20..ec3b6908 100644
--- a/testdata/language-features/basic-values/literal01.out
+++ b/testdata/language-features/basic-values/literal01.out
@@ -1,13 +1,20 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2intValue1 = _rhs (fromInt 0) 3intValue1 = _rhs (fromInt 0)
4
3intValue2 = _rhs (fromInt 1) 5intValue2 = _rhs (fromInt 1)
6
4intValue3 = _rhs (fromInt 12345) 7intValue3 = _rhs (fromInt 12345)
8
5floatValue1 = _rhs 2.0 9floatValue1 = _rhs 2.0
10
6floatValue2 = _rhs 123400.0 11floatValue2 = _rhs 123400.0
12
7charValue = _rhs 'A' 13charValue = _rhs 'A'
14
8stringValue1 = _rhs "Hello World" 15stringValue1 = _rhs "Hello World"
16
9stringValue2 = _rhs "\nHello World\tagain!\r\n" 17stringValue2 = _rhs "\nHello World\tagain!\r\n"
10main is not found
11------------ trace 18------------ trace
12intValue1 :: forall a . Num a => a 19intValue1 :: forall a . Num a => a
13intValue2 :: forall a . Num a => a 20intValue2 :: forall a . Num a => a
diff --git a/testdata/language-features/basic-values/operator01.out b/testdata/language-features/basic-values/operator01.out
index b6848082..df8d10ac 100644
--- a/testdata/language-features/basic-values/operator01.out
+++ b/testdata/language-features/basic-values/operator01.out
@@ -1,9 +1,12 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2(#$#) = \_ _ -> _rhs HNil 3(#$#) = \_ _ -> _rhs HNil
4
3($$#) = \_ _ -> _rhs HNil 5($$#) = \_ _ -> _rhs HNil
6
4($$$#) = \_ _ -> _rhs HNil 7($$$#) = \_ _ -> _rhs HNil
8
5($$$) = \_ _ -> _rhs HNil 9($$$) = \_ _ -> _rhs HNil
6main is not found
7------------ trace 10------------ trace
8(#$#) :: forall a b . a -> b -> () 11(#$#) :: forall a b . a -> b -> ()
9($$#) :: forall a b . a -> b -> () 12($$#) :: forall a b . a -> b -> ()
diff --git a/testdata/language-features/basic-values/operator05.out b/testdata/language-features/basic-values/operator05.out
index 58ad31cd..91f34d29 100644
--- a/testdata/language-features/basic-values/operator05.out
+++ b/testdata/language-features/basic-values/operator05.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs \(a := \_ _ -> _rhs HNil) -> a HNil HNil 3value1 = _rhs \(a := \_ _ -> _rhs HNil) -> a HNil HNil
3main is not found
4------------ trace 4------------ trace
5value1 :: () 5value1 :: ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-values/operator06.out b/testdata/language-features/basic-values/operator06.out
index 6f5d6982..adbffc11 100644
--- a/testdata/language-features/basic-values/operator06.out
+++ b/testdata/language-features/basic-values/operator06.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs \(a := \_ _ -> _rhs HNil) -> a HNil HNil 3value1 = _rhs \(a := \_ _ -> _rhs HNil) -> a HNil HNil
3main is not found
4------------ trace 4------------ trace
5value1 :: () 5value1 :: ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-values/shadowing01.out b/testdata/language-features/basic-values/shadowing01.out
index 39fdca99..bf07b5e5 100644
--- a/testdata/language-features/basic-values/shadowing01.out
+++ b/testdata/language-features/basic-values/shadowing01.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = _rhs 4 = _rhs
@@ -10,7 +11,6 @@ value
10 (f 11 (f
11 := _rhs 12 := _rhs
12 \(g := _rhs HNil) (h := _rhs 'C') (i := _rhs 3.12) -> "world") -> HNil) -> '7' 13 \(g := _rhs HNil) (h := _rhs 'C') (i := _rhs 3.12) -> "world") -> HNil) -> '7'
13main is not found
14------------ trace 14------------ trace
15value :: Char 15value :: Char
16------------ tooltips 16------------ tooltips
diff --git a/testdata/language-features/basic-values/shadowing02.out b/testdata/language-features/basic-values/shadowing02.out
index 4da8cccd..69f3e1f6 100644
--- a/testdata/language-features/basic-values/shadowing02.out
+++ b/testdata/language-features/basic-values/shadowing02.out
@@ -1,6 +1,9 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2c = _rhs (fromInt 7) 3c = _rhs (fromInt 7)
4
3world = _rhs "world" 5world = _rhs "world"
6
4value2 7value2
5 = _rhs 8 = _rhs
6 \(a := _rhs 'A') 9 \(a := _rhs 'A')
@@ -14,7 +17,6 @@ value2
14 := _rhs 17 := _rhs
15 \(h := _rhs HNil) 18 \(h := _rhs HNil)
16 (i := _rhs 'C') (j := _rhs 3.12) (k := _rhs c) -> world) -> HNil) -> '7' 19 (i := _rhs 'C') (j := _rhs 3.12) (k := _rhs c) -> world) -> HNil) -> '7'
17main is not found
18------------ trace 20------------ trace
19c :: forall a . Num a => a 21c :: forall a . Num a => a
20world :: String 22world :: String
diff --git a/testdata/language-features/basic-values/shadowing03.out b/testdata/language-features/basic-values/shadowing03.out
index 6e0ca5e0..00820b70 100644
--- a/testdata/language-features/basic-values/shadowing03.out
+++ b/testdata/language-features/basic-values/shadowing03.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2x = \_ _ -> _rhs HNil 3x = \_ _ -> _rhs HNil
3main is not found
4------------ trace 4------------ trace
5x :: forall a b . a -> b -> () 5x :: forall a b . a -> b -> ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-values/shadowing04.out b/testdata/language-features/basic-values/shadowing04.out
index 6d20512d..29066c7b 100644
--- a/testdata/language-features/basic-values/shadowing04.out
+++ b/testdata/language-features/basic-values/shadowing04.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2__ = \_ _ -> _rhs HNil 3__ = \_ _ -> _rhs HNil
3main is not found
4------------ trace 4------------ trace
5__ :: forall a b . a -> b -> () 5__ :: forall a b . a -> b -> ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-values/tuple01.out b/testdata/language-features/basic-values/tuple01.out
index 9ae4b926..48aa799f 100644
--- a/testdata/language-features/basic-values/tuple01.out
+++ b/testdata/language-features/basic-values/tuple01.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2unit = _rhs HNil 3unit = _rhs HNil
3main is not found
4------------ trace 4------------ trace
5unit :: () 5unit :: ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-values/tuple02.out b/testdata/language-features/basic-values/tuple02.out
index 8cdbb1b2..33a7b35c 100644
--- a/testdata/language-features/basic-values/tuple02.out
+++ b/testdata/language-features/basic-values/tuple02.out
@@ -1,10 +1,12 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2tuple1 3tuple1
3 = _rhs 4 = _rhs
4 (HCons (fromInt 1) (HCons 2.3 (HCons 'D' (HCons "string" (HCons HNil HNil))))) 5 (HCons (fromInt 1) (HCons 2.3 (HCons 'D' (HCons "string" (HCons HNil HNil)))))
6
5tuple2 = _rhs (HCons HNil (HCons HNil HNil)) 7tuple2 = _rhs (HCons HNil (HCons HNil HNil))
8
6tuple3 = _rhs (HCons (HCons "name" (HCons 'c' HNil)) (HCons HNil HNil)) 9tuple3 = _rhs (HCons (HCons "name" (HCons 'c' HNil)) (HCons HNil HNil))
7main is not found
8------------ trace 10------------ trace
9tuple1 :: forall a . Num a => (a, Float, Char, String, ()) 11tuple1 :: forall a . Num a => (a, Float, Char, String, ())
10tuple2 :: ((), ()) 12tuple2 :: ((), ())
diff --git a/testdata/language-features/basic-values/typesig01.out b/testdata/language-features/basic-values/typesig01.out
index 9936930a..4b710886 100644
--- a/testdata/language-features/basic-values/typesig01.out
+++ b/testdata/language-features/basic-values/typesig01.out
@@ -1,9 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 :: Char 3value1 :: Char
3value1 = _rhs 'a' 4value1 = _rhs 'a'
5
4value2 :: Char 6value2 :: Char
5value2 = _rhs 'a' 7value2 = _rhs 'a'
6main is not found
7------------ trace 8------------ trace
8value1 :: Char 9value1 :: Char
9value2 :: Char 10value2 :: Char
diff --git a/testdata/language-features/basic-values/typesig02.out b/testdata/language-features/basic-values/typesig02.out
index cfd8e29d..a685db82 100644
--- a/testdata/language-features/basic-values/typesig02.out
+++ b/testdata/language-features/basic-values/typesig02.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs ('a' :: Char) 3value1 = _rhs ('a' :: Char)
4
3value2 = _rhs ('a' :: Char) 5value2 = _rhs ('a' :: Char)
4main is not found
5------------ trace 6------------ trace
6value1 :: Char 7value1 :: Char
7value2 :: Char 8value2 :: Char
diff --git a/testdata/language-features/basic-values/typesig03.out b/testdata/language-features/basic-values/typesig03.out
index 8a2f8bbb..c0f5769f 100644
--- a/testdata/language-features/basic-values/typesig03.out
+++ b/testdata/language-features/basic-values/typesig03.out
@@ -1,9 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun1 :: forall (a :: _) (b :: _) (c :: _) . a -> b -> c -> HList '[] 3fun1 :: forall (a :: _) (b :: _) (c :: _) . a -> b -> c -> HList '[]
3fun1 = \_ _ _ -> _rhs HNil 4fun1 = \_ _ _ -> _rhs HNil
5
4fun2 :: forall (a :: _) (b :: _) (c :: _) . a -> b -> c -> HList '[] 6fun2 :: forall (a :: _) (b :: _) (c :: _) . a -> b -> c -> HList '[]
5fun2 = \_ _ _ -> _rhs HNil 7fun2 = \_ _ _ -> _rhs HNil
6main is not found
7------------ trace 8------------ trace
8fun1 :: forall a b c . a -> b -> c -> () 9fun1 :: forall a b c . a -> b -> c -> ()
9fun2 :: forall a b c . a -> b -> c -> () 10fun2 :: forall a b c . a -> b -> c -> ()
diff --git a/testdata/language-features/basic-values/typesig04.out b/testdata/language-features/basic-values/typesig04.out
index 0c98ffa1..b7a2c6b1 100644
--- a/testdata/language-features/basic-values/typesig04.out
+++ b/testdata/language-features/basic-values/typesig04.out
@@ -1,9 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun1 :: forall (a :: _) (b :: _) (c :: _) . a -> (b -> c) -> HList '[] 3fun1 :: forall (a :: _) (b :: _) (c :: _) . a -> (b -> c) -> HList '[]
3fun1 = \_ _ -> _rhs HNil 4fun1 = \_ _ -> _rhs HNil
5
4fun2 :: forall (a :: _) (b :: _) (c :: _) . a -> (b -> c) -> HList '[] 6fun2 :: forall (a :: _) (b :: _) (c :: _) . a -> (b -> c) -> HList '[]
5fun2 = \_ _ -> _rhs HNil 7fun2 = \_ _ -> _rhs HNil
6main is not found
7------------ trace 8------------ trace
8fun1 :: forall a b c . a -> (b -> c) -> () 9fun1 :: forall a b c . a -> (b -> c) -> ()
9fun2 :: forall a b c . a -> (b -> c) -> () 10fun2 :: forall a b c . a -> (b -> c) -> ()
diff --git a/testdata/language-features/basic-values/typesig05.out b/testdata/language-features/basic-values/typesig05.out
index edceee72..0f4f157e 100644
--- a/testdata/language-features/basic-values/typesig05.out
+++ b/testdata/language-features/basic-values/typesig05.out
@@ -1,13 +1,18 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2funL = \(a :: _) _ -> _rhs a 3funL = \(a :: _) _ -> _rhs a
4
3funR = \_ (a :: _) -> _rhs a 5funR = \_ (a :: _) -> _rhs a
6
4value1 = _rhs (funL 'a' "b" :: Char) 7value1 = _rhs (funL 'a' "b" :: Char)
8
5value2 = _rhs (funR 'a' "b" :: String) 9value2 = _rhs (funR 'a' "b" :: String)
10
6value3 :: Char 11value3 :: Char
7value3 = _rhs (funL 'a' "b") 12value3 = _rhs (funL 'a' "b")
13
8value4 :: String 14value4 :: String
9value4 = _rhs (funR 'a' "b") 15value4 = _rhs (funR 'a' "b")
10main is not found
11------------ trace 16------------ trace
12funL :: forall a b . a -> b -> a 17funL :: forall a b . a -> b -> a
13funR :: forall a b . a -> b -> b 18funR :: forall a b . a -> b -> b
diff --git a/testdata/language-features/basic-values/typesig06.out b/testdata/language-features/basic-values/typesig06.out
index 664b9dec..b933dda4 100644
--- a/testdata/language-features/basic-values/typesig06.out
+++ b/testdata/language-features/basic-values/typesig06.out
@@ -1,9 +1,12 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2funL = \(a :: _) _ -> _rhs a 3funL = \(a :: _) _ -> _rhs a
4
3(<@) = \(a :: _) _ -> _rhs a 5(<@) = \(a :: _) _ -> _rhs a
6
4value1 = _rhs ("hi" <@ 1.2 :: String) 7value1 = _rhs ("hi" <@ 1.2 :: String)
8
5value2 = _rhs ("hi" `funL` 1.2 :: String) 9value2 = _rhs ("hi" `funL` 1.2 :: String)
6main is not found
7------------ trace 10------------ trace
8funL :: forall a b . a -> b -> a 11funL :: forall a b . a -> b -> a
9(<@) :: forall a b . a -> b -> a 12(<@) :: forall a b . a -> b -> a
diff --git a/testdata/language-features/basic-values/typesig07.out b/testdata/language-features/basic-values/typesig07.out
index 07a8d0b9..f300eced 100644
--- a/testdata/language-features/basic-values/typesig07.out
+++ b/testdata/language-features/basic-values/typesig07.out
@@ -1,17 +1,22 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 :: Int 3value1 :: Int
3value1 = _rhs (fromInt 1) 4value1 = _rhs (fromInt 1)
5
4value2 :: Int 6value2 :: Int
5value2 = _rhs (fromInt 2) 7value2 = _rhs (fromInt 2)
8
6value3 :: Int 9value3 :: Int
7value3 = _rhs (fromInt 3) 10value3 = _rhs (fromInt 3)
11
8value4 :: HList '[] -> HList '[] -> HList '[] 12value4 :: HList '[] -> HList '[] -> HList '[]
9value4 = \_ _ -> _rhs HNil 13value4 = \_ _ -> _rhs HNil
14
10(@@@) :: HList '[] -> HList '[] -> HList '[] 15(@@@) :: HList '[] -> HList '[] -> HList '[]
11(@@@) = \_ _ -> _rhs HNil 16(@@@) = \_ _ -> _rhs HNil
17
12value6 :: HList '[] -> HList '[] -> HList '[] 18value6 :: HList '[] -> HList '[] -> HList '[]
13value6 = \_ _ -> _rhs HNil 19value6 = \_ _ -> _rhs HNil
14main is not found
15------------ trace 20------------ trace
16value1 :: Int 21value1 :: Int
17value2 :: Int 22value2 :: Int
diff --git a/testdata/language-features/basic-values/typesyn01.out b/testdata/language-features/basic-values/typesyn01.out
index 1b35d979..9481b2bf 100644
--- a/testdata/language-features/basic-values/typesyn01.out
+++ b/testdata/language-features/basic-values/typesyn01.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2'MyUnit = _rhs ('HList []) 3'MyUnit = _rhs ('HList [])
3main is not found
4------------ trace 4------------ trace
5'MyUnit :: Type 5'MyUnit :: Type
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/basic-values/typesyn02.out b/testdata/language-features/basic-values/typesyn02.out
index 7713c92a..74f2b730 100644
--- a/testdata/language-features/basic-values/typesyn02.out
+++ b/testdata/language-features/basic-values/typesyn02.out
@@ -1,8 +1,9 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2'MyUnit = _rhs ('HList []) 3'MyUnit = _rhs ('HList [])
4
3fun :: forall (a :: _) . a -> MyUnit -> MyUnit 5fun :: forall (a :: _) . a -> MyUnit -> MyUnit
4fun = \_ (a :: _) -> hlistNilCase _ (_rhs HNil) a 6fun = \_ (a :: _) -> hlistNilCase _ (_rhs HNil) a
5main is not found
6------------ trace 7------------ trace
7'MyUnit :: Type 8'MyUnit :: Type
8fun :: forall a . a -> () -> () 9fun :: forall a . a -> () -> ()
diff --git a/testdata/language-features/basic-values/where01.out b/testdata/language-features/basic-values/where01.out
index 9ff7eb28..d278100a 100644
--- a/testdata/language-features/basic-values/where01.out
+++ b/testdata/language-features/basic-values/where01.out
@@ -1,16 +1,26 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs \(a := _rhs HNil) -> HNil 3value1 = _rhs \(a := _rhs HNil) -> HNil
4
3value2 = _rhs \(a := _rhs HNil) -> a 5value2 = _rhs \(a := _rhs HNil) -> a
6
4value3 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> a 7value3 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> a
8
5value4 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> b 9value4 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> b
10
6value5 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> a 11value5 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> a
12
7value6 = _rhs HNil 13value6 = _rhs HNil
14
8value7 = _rhs HNil 15value7 = _rhs HNil
16
9value8 = _rhs HNil 17value8 = _rhs HNil
18
10value9 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> a 19value9 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> a
20
11value10 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> a 21value10 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> a
22
12value11 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> a 23value11 = _rhs \(a := _rhs HNil) (b := _rhs HNil) -> a
13main is not found
14------------ trace 24------------ trace
15value1 :: () 25value1 :: ()
16value2 :: () 26value2 :: ()
diff --git a/testdata/language-features/basic-values/where04.out b/testdata/language-features/basic-values/where04.out
index f5e16747..39410991 100644
--- a/testdata/language-features/basic-values/where04.out
+++ b/testdata/language-features/basic-values/where04.out
@@ -1,8 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 = _rhs \(a := _rhs \(b := _rhs HNil) -> b) -> a 3value1 = _rhs \(a := _rhs \(b := _rhs HNil) -> b) -> a
4
3value2 = _rhs \(a := _rhs \(b := _rhs HNil) -> b) -> a 5value2 = _rhs \(a := _rhs \(b := _rhs HNil) -> b) -> a
6
4value3 = _rhs \(a := _rhs \(b := _rhs HNil) -> b) -> a 7value3 = _rhs \(a := _rhs \(b := _rhs HNil) -> b) -> a
5main is not found
6------------ trace 8------------ trace
7value1 :: () 9value1 :: ()
8value2 :: () 10value2 :: ()
diff --git a/testdata/language-features/basic-values/where05.out b/testdata/language-features/basic-values/where05.out
index 8c082555..08d64648 100644
--- a/testdata/language-features/basic-values/where05.out
+++ b/testdata/language-features/basic-values/where05.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value1 3value1
3 = _rhs 4 = _rhs
@@ -7,6 +8,7 @@ value1
7 (\(b := _rhs HNil) -> b) 8 (\(b := _rhs HNil) -> b)
8 (fromInt 1 == a)) 9 (fromInt 1 == a))
9 (fromInt 1)) 10 (fromInt 1))
11
10value2 12value2
11 = _rhs 13 = _rhs
12 ((\(a :: _) -> case'Bool 14 ((\(a :: _) -> case'Bool
@@ -15,6 +17,7 @@ value2
15 (\(b := _rhs HNil) -> b) 17 (\(b := _rhs HNil) -> b)
16 (fromInt 1 == a)) 18 (fromInt 1 == a))
17 (fromInt 1)) 19 (fromInt 1))
20
18value3 21value3
19 = _rhs 22 = _rhs
20 ((\(a :: _) -> case'Bool 23 ((\(a :: _) -> case'Bool
@@ -23,11 +26,11 @@ value3
23 (\(b := _rhs HNil) -> b) 26 (\(b := _rhs HNil) -> b)
24 (fromInt 1 == a)) 27 (fromInt 1 == a))
25 (fromInt 1)) 28 (fromInt 1))
29
26value4 30value4
27 = _rhs 31 = _rhs
28 \(a := _rhs HNil) -> (\(b :: _) -> case'Bool (\_ -> _) HNil a (fromInt 1 == b)) 32 \(a := _rhs HNil) -> (\(b :: _) -> case'Bool (\_ -> _) HNil a (fromInt 1 == b))
29 (fromInt 1) 33 (fromInt 1)
30main is not found
31------------ trace 34------------ trace
32value1 :: forall a . (Eq a, Num a) => () 35value1 :: forall a . (Eq a, Num a) => ()
33value2 :: forall a . (Eq a, Num a) => () 36value2 :: forall a . (Eq a, Num a) => ()
diff --git a/testdata/language-features/basic-values/wildcard01.out b/testdata/language-features/basic-values/wildcard01.out
index 61b6a8c4..49f84c4b 100644
--- a/testdata/language-features/basic-values/wildcard01.out
+++ b/testdata/language-features/basic-values/wildcard01.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2funUnit = \_ -> _rhs HNil 3funUnit = \_ -> _rhs HNil
3main is not found
4------------ trace 4------------ trace
5funUnit :: forall a . a -> () 5funUnit :: forall a . a -> ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/comment/comment01.out b/testdata/language-features/comment/comment01.out
index 907bca84..521dcdfe 100644
--- a/testdata/language-features/comment/comment01.out
+++ b/testdata/language-features/comment/comment01.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/language-features/comment/comment02.out b/testdata/language-features/comment/comment02.out
index 907bca84..521dcdfe 100644
--- a/testdata/language-features/comment/comment02.out
+++ b/testdata/language-features/comment/comment02.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/language-features/comment/comment03.out b/testdata/language-features/comment/comment03.out
index 907bca84..521dcdfe 100644
--- a/testdata/language-features/comment/comment03.out
+++ b/testdata/language-features/comment/comment03.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/language-features/comment/comment04.out b/testdata/language-features/comment/comment04.out
index 907bca84..521dcdfe 100644
--- a/testdata/language-features/comment/comment04.out
+++ b/testdata/language-features/comment/comment04.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/language-features/emptysource.out b/testdata/language-features/emptysource.out
index 907bca84..521dcdfe 100644
--- a/testdata/language-features/emptysource.out
+++ b/testdata/language-features/emptysource.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/language-features/guard/guard01.out b/testdata/language-features/guard/guard01.out
index b4195756..1405debb 100644
--- a/testdata/language-features/guard/guard01.out
+++ b/testdata/language-features/guard/guard01.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = case'Bool (\_ -> _) (_rhs undefined) (_rhs HNil) True 3value = case'Bool (\_ -> _) (_rhs undefined) (_rhs HNil) True
3main is not found
4------------ trace 4------------ trace
5value :: () 5value :: ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/guard/guard03.out b/testdata/language-features/guard/guard03.out
index 7d7f8a4d..6540522a 100644
--- a/testdata/language-features/guard/guard03.out
+++ b/testdata/language-features/guard/guard03.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = case'Bool 4 = case'Bool
@@ -5,7 +6,6 @@ value
5 (case'Bool (\_ -> _) (_rhs undefined) (_rhs "False") False) 6 (case'Bool (\_ -> _) (_rhs undefined) (_rhs "False") False)
6 (_rhs "True") 7 (_rhs "True")
7 True 8 True
8main is not found
9------------ trace 9------------ trace
10value :: String 10value :: String
11------------ tooltips 11------------ tooltips
diff --git a/testdata/language-features/guard/guard04.out b/testdata/language-features/guard/guard04.out
index 21a9ff19..5b55275b 100644
--- a/testdata/language-features/guard/guard04.out
+++ b/testdata/language-features/guard/guard04.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = case'Bool (\_ -> _) (_rhs "False") (_rhs "True") True 3value = case'Bool (\_ -> _) (_rhs "False") (_rhs "True") True
3main is not found
4------------ trace 4------------ trace
5value :: String 5value :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/guard/guard06.out b/testdata/language-features/guard/guard06.out
index a62258cc..c568bf3c 100644
--- a/testdata/language-features/guard/guard06.out
+++ b/testdata/language-features/guard/guard06.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs HNil 3value = _rhs HNil
3main is not found
4------------ trace 4------------ trace
5value :: () 5value :: ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/guard/guard07.out b/testdata/language-features/guard/guard07.out
index acc704ba..acd4ea18 100644
--- a/testdata/language-features/guard/guard07.out
+++ b/testdata/language-features/guard/guard07.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = case'Bool 4 = case'Bool
@@ -5,7 +6,6 @@ value
5 (case'Bool (\_ -> _) (_rhs undefined) (_rhs "False") False) 6 (case'Bool (\_ -> _) (_rhs undefined) (_rhs "False") False)
6 (_rhs "True") 7 (_rhs "True")
7 True 8 True
8main is not found
9------------ trace 9------------ trace
10value :: String 10value :: String
11------------ tooltips 11------------ tooltips
diff --git a/testdata/language-features/guard/guard08.out b/testdata/language-features/guard/guard08.out
index eeef1da6..1f5e5ab3 100644
--- a/testdata/language-features/guard/guard08.out
+++ b/testdata/language-features/guard/guard08.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = case'Bool 4 = case'Bool
@@ -5,7 +6,6 @@ value
5 (case'Bool (\_ -> _) (_rhs undefined) (_rhs "False") False) 6 (case'Bool (\_ -> _) (_rhs undefined) (_rhs "False") False)
6 (_rhs "True") 7 (_rhs "True")
7 True 8 True
8main is not found
9------------ trace 9------------ trace
10value :: String 10value :: String
11------------ tooltips 11------------ tooltips
diff --git a/testdata/language-features/guard/guard09.out b/testdata/language-features/guard/guard09.out
index 09a72fa0..1aa3c7a2 100644
--- a/testdata/language-features/guard/guard09.out
+++ b/testdata/language-features/guard/guard09.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = case'Bool 4 = case'Bool
@@ -5,7 +6,6 @@ value
5 (case'Bool (\_ -> _) (_rhs undefined) (_rhs "False") False) 6 (case'Bool (\_ -> _) (_rhs undefined) (_rhs "False") False)
6 (_rhs "True") 7 (_rhs "True")
7 True 8 True
8main is not found
9------------ trace 9------------ trace
10value :: String 10value :: String
11------------ tooltips 11------------ tooltips
diff --git a/testdata/language-features/guard/guard11.out b/testdata/language-features/guard/guard11.out
index 1d173fb2..b8449128 100644
--- a/testdata/language-features/guard/guard11.out
+++ b/testdata/language-features/guard/guard11.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun = \(a :: _) -> case'Bool (\_ -> _) (_rhs "False") (_rhs "True") a 3fun = \(a :: _) -> case'Bool (\_ -> _) (_rhs "False") (_rhs "True") a
3main is not found
4------------ trace 4------------ trace
5fun :: Bool -> String 5fun :: Bool -> String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/guard/guard13.out b/testdata/language-features/guard/guard13.out
index e8bd4c84..3c1e364a 100644
--- a/testdata/language-features/guard/guard13.out
+++ b/testdata/language-features/guard/guard13.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun = \(a :: _) -> case'Bool (\_ -> _) (_rhs HNil) (_rhs HNil) a 3fun = \(a :: _) -> case'Bool (\_ -> _) (_rhs HNil) (_rhs HNil) a
3main is not found
4------------ trace 4------------ trace
5fun :: Bool -> () 5fun :: Bool -> ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/guard/guard14.out b/testdata/language-features/guard/guard14.out
index e0b32348..a5a039bf 100644
--- a/testdata/language-features/guard/guard14.out
+++ b/testdata/language-features/guard/guard14.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs \(a := case'Bool (\_ -> _) (_rhs HNil) (_rhs HNil) True) -> HNil 3value = _rhs \(a := case'Bool (\_ -> _) (_rhs HNil) (_rhs HNil) True) -> HNil
3main is not found
4------------ trace 4------------ trace
5value :: () 5value :: ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/guard/guard15.out b/testdata/language-features/guard/guard15.out
index 733c2b34..5c7fc3b8 100644
--- a/testdata/language-features/guard/guard15.out
+++ b/testdata/language-features/guard/guard15.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs \(a := case'Bool (\_ -> _) (_rhs HNil) (_rhs HNil) True) -> HNil 3value = _rhs \(a := case'Bool (\_ -> _) (_rhs HNil) (_rhs HNil) True) -> HNil
3main is not found
4------------ trace 4------------ trace
5value :: () 5value :: ()
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/guard/guard16.out b/testdata/language-features/guard/guard16.out
index 4fc90e30..311d7db0 100644
--- a/testdata/language-features/guard/guard16.out
+++ b/testdata/language-features/guard/guard16.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = _rhs 4 = _rhs
@@ -7,7 +8,6 @@ value
7 (case'Bool (\_ -> _) HNil HNil True) 8 (case'Bool (\_ -> _) HNil HNil True)
8 (fromInt 1 == a)) 9 (fromInt 1 == a))
9 (fromInt 1)) 10 (fromInt 1))
10main is not found
11------------ trace 11------------ trace
12value :: forall a . (Eq a, Num a) => () 12value :: forall a . (Eq a, Num a) => ()
13------------ tooltips 13------------ tooltips
diff --git a/testdata/language-features/module/Hello01.out b/testdata/language-features/module/Hello01.out
index aee194f1..34f3f918 100644
--- a/testdata/language-features/module/Hello01.out
+++ b/testdata/language-features/module/Hello01.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs "hello" 3hello = _rhs "hello"
4
3world = _rhs "world" 5world = _rhs "world"
4main is not found
5------------ trace 6------------ trace
6hello :: String 7hello :: String
7world :: String 8world :: String
diff --git a/testdata/language-features/module/Hello02.out b/testdata/language-features/module/Hello02.out
index 9d582484..fc3a7be7 100644
--- a/testdata/language-features/module/Hello02.out
+++ b/testdata/language-features/module/Hello02.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs "hello" 3hello = _rhs "hello"
4
3world = _rhs "world" 5world = _rhs "world"
4main is not found
5------------ trace 6------------ trace
6hello :: String 7hello :: String
7world :: String 8world :: String
diff --git a/testdata/language-features/module/Hello03.out b/testdata/language-features/module/Hello03.out
index 98956c8a..8a645fda 100644
--- a/testdata/language-features/module/Hello03.out
+++ b/testdata/language-features/module/Hello03.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2greeting = _rhs 'G' 3greeting = _rhs 'G'
4
3value = _rhs 12.2 5value = _rhs 12.2
4main is not found
5------------ trace 6------------ trace
6greeting :: Char 7greeting :: Char
7value :: Float 8value :: Float
diff --git a/testdata/language-features/module/ModulePackage/SubModule01.out b/testdata/language-features/module/ModulePackage/SubModule01.out
index 44457c17..119eaeac 100644
--- a/testdata/language-features/module/ModulePackage/SubModule01.out
+++ b/testdata/language-features/module/ModulePackage/SubModule01.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs "Hello" 3hello = _rhs "Hello"
3main is not found
4------------ trace 4------------ trace
5hello :: String 5hello :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/module/Moduledef01.out b/testdata/language-features/module/Moduledef01.out
index 907bca84..521dcdfe 100644
--- a/testdata/language-features/module/Moduledef01.out
+++ b/testdata/language-features/module/Moduledef01.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/language-features/module/Moduledef06.out b/testdata/language-features/module/Moduledef06.out
index 95f989ee..ef523d5a 100644
--- a/testdata/language-features/module/Moduledef06.out
+++ b/testdata/language-features/module/Moduledef06.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs "hello" 3hello = _rhs "hello"
3main is not found
4------------ trace 4------------ trace
5hello :: String 5hello :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/module/Moduledef07.out b/testdata/language-features/module/Moduledef07.out
index 0dafaaa8..ac2aa83e 100644
--- a/testdata/language-features/module/Moduledef07.out
+++ b/testdata/language-features/module/Moduledef07.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs "hello" 3hello = _rhs "hello"
3main is not found
4------------ trace 4------------ trace
5hello :: String 5hello :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/module/Moduledef08.out b/testdata/language-features/module/Moduledef08.out
index d7add14b..e2b3e946 100644
--- a/testdata/language-features/module/Moduledef08.out
+++ b/testdata/language-features/module/Moduledef08.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs "hello" 3hello = _rhs "hello"
3main is not found
4------------ trace 4------------ trace
5hello :: String 5hello :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/module/Moduledef09.out b/testdata/language-features/module/Moduledef09.out
index f90be0b2..503326bb 100644
--- a/testdata/language-features/module/Moduledef09.out
+++ b/testdata/language-features/module/Moduledef09.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs "hello" 3hello = _rhs "hello"
4
3world = _rhs "world" 5world = _rhs "world"
4main is not found
5------------ trace 6------------ trace
6hello :: String 7hello :: String
7world :: String 8world :: String
diff --git a/testdata/language-features/module/Moduledef10.out b/testdata/language-features/module/Moduledef10.out
index 2928a534..42b98df9 100644
--- a/testdata/language-features/module/Moduledef10.out
+++ b/testdata/language-features/module/Moduledef10.out
@@ -1,8 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs "hello" 3hello = _rhs "hello"
4
3world = _rhs "world" 5world = _rhs "world"
6
4value = _rhs HNil 7value = _rhs HNil
5main is not found
6------------ trace 8------------ trace
7hello :: String 9hello :: String
8world :: String 10world :: String
diff --git a/testdata/language-features/module/Moduledef13.out b/testdata/language-features/module/Moduledef13.out
index 7b6fb91d..90ae50c7 100644
--- a/testdata/language-features/module/Moduledef13.out
+++ b/testdata/language-features/module/Moduledef13.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs "hello" 3hello = _rhs "hello"
3main is not found
4------------ trace 4------------ trace
5hello :: String 5hello :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/module/TypeSyn01Mod.out b/testdata/language-features/module/TypeSyn01Mod.out
index a43e184e..51565796 100644
--- a/testdata/language-features/module/TypeSyn01Mod.out
+++ b/testdata/language-features/module/TypeSyn01Mod.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2'MyUnit = _rhs ('HList []) 3'MyUnit = _rhs ('HList [])
3main is not found
4------------ trace 4------------ trace
5'MyUnit :: Type 5'MyUnit :: Type
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/module/import01.out b/testdata/language-features/module/import01.out
index 0c9e505e..531eae39 100644
--- a/testdata/language-features/module/import01.out
+++ b/testdata/language-features/module/import01.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2x = _rhs hello 3x = _rhs hello
3main is not found
4------------ trace 4------------ trace
5x :: String 5x :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/module/import05.out b/testdata/language-features/module/import05.out
index 4cb3a2f4..9dfe0dba 100644
--- a/testdata/language-features/module/import05.out
+++ b/testdata/language-features/module/import05.out
@@ -1,7 +1,7 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2x :: String 3x :: String
3x = _rhs hello 4x = _rhs hello
4main is not found
5------------ trace 5------------ trace
6x :: String 6x :: String
7------------ tooltips 7------------ tooltips
diff --git a/testdata/language-features/module/import06.out b/testdata/language-features/module/import06.out
index a8852987..fd792bd3 100644
--- a/testdata/language-features/module/import06.out
+++ b/testdata/language-features/module/import06.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs HNil 3hello = _rhs HNil
4
3x = _rhs world 5x = _rhs world
4main is not found
5------------ trace 6------------ trace
6hello :: () 7hello :: ()
7x :: String 8x :: String
diff --git a/testdata/language-features/module/import07.out b/testdata/language-features/module/import07.out
index c9285662..4bb045c3 100644
--- a/testdata/language-features/module/import07.out
+++ b/testdata/language-features/module/import07.out
@@ -1,7 +1,8 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2hello = _rhs HNil 3hello = _rhs HNil
4
3x = _rhs world 5x = _rhs world
4main is not found
5------------ trace 6------------ trace
6hello :: () 7hello :: ()
7x :: String 8x :: String
diff --git a/testdata/language-features/module/import08.out b/testdata/language-features/module/import08.out
index ce0235db..aad9ca58 100644
--- a/testdata/language-features/module/import08.out
+++ b/testdata/language-features/module/import08.out
@@ -1,12 +1,15 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value = _rhs HNil 3value = _rhs HNil
4
3g :: Char 5g :: Char
4g = _rhs greeting 6g = _rhs greeting
7
5h :: String 8h :: String
6h = _rhs hello 9h = _rhs hello
10
7w :: String 11w :: String
8w = _rhs world 12w = _rhs world
9main is not found
10------------ trace 13------------ trace
11value :: () 14value :: ()
12g :: Char 15g :: Char
diff --git a/testdata/language-features/module/import09.out b/testdata/language-features/module/import09.out
index 42b1de3a..12e13325 100644
--- a/testdata/language-features/module/import09.out
+++ b/testdata/language-features/module/import09.out
@@ -1,7 +1,7 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun :: forall (a :: _) . a -> MyUnit -> MyUnit 3fun :: forall (a :: _) . a -> MyUnit -> MyUnit
3fun = \_ (a :: _) -> hlistNilCase _ (_rhs HNil) a 4fun = \_ (a :: _) -> hlistNilCase _ (_rhs HNil) a
4main is not found
5------------ trace 5------------ trace
6fun :: forall a . a -> () -> () 6fun :: forall a . a -> () -> ()
7------------ tooltips 7------------ tooltips
diff --git a/testdata/language-features/module/import12.out b/testdata/language-features/module/import12.out
index 32b7bdd8..df4d894b 100644
--- a/testdata/language-features/module/import12.out
+++ b/testdata/language-features/module/import12.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun = _rhs hello 3fun = _rhs hello
3main is not found
4------------ trace 4------------ trace
5fun :: String 5fun :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/module/import13.out b/testdata/language-features/module/import13.out
index 7167ad27..68ed44d8 100644
--- a/testdata/language-features/module/import13.out
+++ b/testdata/language-features/module/import13.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun = _rhs hello 3fun = _rhs hello
3main is not found
4------------ trace 4------------ trace
5fun :: String 5fun :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/module/import14.out b/testdata/language-features/module/import14.out
index 19d18b88..958207ba 100644
--- a/testdata/language-features/module/import14.out
+++ b/testdata/language-features/module/import14.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun = _rhs hello 3fun = _rhs hello
3main is not found
4------------ trace 4------------ trace
5fun :: String 5fun :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/module/import15.out b/testdata/language-features/module/import15.out
index bb60b565..8727ac08 100644
--- a/testdata/language-features/module/import15.out
+++ b/testdata/language-features/module/import15.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun = _rhs hello 3fun = _rhs hello
3main is not found
4------------ trace 4------------ trace
5fun :: String 5fun :: String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/pattern/pattern01.out b/testdata/language-features/pattern/pattern01.out
index 1683fdec..eeda616d 100644
--- a/testdata/language-features/pattern/pattern01.out
+++ b/testdata/language-features/pattern/pattern01.out
@@ -1,9 +1,12 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun1 = \(a :: _) -> case'Bool (\_ -> _) (_rhs '_') (_rhs '0') (fromInt 0 == a) 3fun1 = \(a :: _) -> case'Bool (\_ -> _) (_rhs '_') (_rhs '0') (fromInt 0 == a)
4
3fun2 = \(a :: _) -> case'Bool (\_ -> _) (_rhs '_') (_rhs '0') ("0" == a) 5fun2 = \(a :: _) -> case'Bool (\_ -> _) (_rhs '_') (_rhs '0') ("0" == a)
6
4fun3 = \(a :: _) -> case'Bool (\_ -> _) (_rhs '_') (_rhs '0') ('0' == a) 7fun3 = \(a :: _) -> case'Bool (\_ -> _) (_rhs '_') (_rhs '0') ('0' == a)
8
5fun4 = \(a :: _) -> hlistNilCase _ (_rhs '0') a 9fun4 = \(a :: _) -> hlistNilCase _ (_rhs '0') a
6main is not found
7------------ trace 10------------ trace
8fun1 :: forall a . (Eq a, Num a) => a -> Char 11fun1 :: forall a . (Eq a, Num a) => a -> Char
9fun2 :: String -> Char 12fun2 :: String -> Char
diff --git a/testdata/language-features/pattern/uncovered.out b/testdata/language-features/pattern/uncovered.out
index 531a913a..4302e4ac 100644
--- a/testdata/language-features/pattern/uncovered.out
+++ b/testdata/language-features/pattern/uncovered.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2f 3f
3 = \(a :: _) (b :: _) (c :: _) -> case'Bool 4 = \(a :: _) (b :: _) (c :: _) -> case'Bool
@@ -13,6 +14,7 @@ f
13 (case'Bool (\_ -> _) (_rhs (fromInt 1)) (_rhs undefined) a) 14 (case'Bool (\_ -> _) (_rhs (fromInt 1)) (_rhs undefined) a)
14 c) 15 c)
15 b 16 b
17
16g 18g
17 = \(a :: _) -> case'List 19 = \(a :: _) -> case'List
18 (\_ -> _) 20 (\_ -> _)
@@ -39,6 +41,7 @@ g
39 c) 41 c)
40 b) 42 b)
41 a 43 a
44
42h 45h
43 = \(a :: _) -> case'List 46 = \(a :: _) -> case'List
44 (\_ -> _) 47 (\_ -> _)
@@ -73,7 +76,6 @@ h
73 d) 76 d)
74 b) 77 b)
75 a 78 a
76main is not found
77------------ trace 79------------ trace
78f :: forall a . Num a => Bool -> Bool -> Bool -> a 80f :: forall a . Num a => Bool -> Bool -> Bool -> a
79g :: [Bool] -> Bool 81g :: [Bool] -> Bool
diff --git a/testdata/language-features/pattern/unreachable.out b/testdata/language-features/pattern/unreachable.out
index 06c9ca43..f7961855 100644
--- a/testdata/language-features/pattern/unreachable.out
+++ b/testdata/language-features/pattern/unreachable.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2f = \_ -> _rhs "hello" 3f = \_ -> _rhs "hello"
3main is not found
4------------ trace 4------------ trace
5f :: forall a . a -> String 5f :: forall a . a -> String
6------------ tooltips 6------------ tooltips
diff --git a/testdata/language-features/pragma/pragma01.out b/testdata/language-features/pragma/pragma01.out
index 907bca84..521dcdfe 100644
--- a/testdata/language-features/pragma/pragma01.out
+++ b/testdata/language-features/pragma/pragma01.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/language-features/pragma/pragma02.out b/testdata/language-features/pragma/pragma02.out
index 907bca84..521dcdfe 100644
--- a/testdata/language-features/pragma/pragma02.out
+++ b/testdata/language-features/pragma/pragma02.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/language-features/pragma/pragma03.out b/testdata/language-features/pragma/pragma03.out
index 907bca84..521dcdfe 100644
--- a/testdata/language-features/pragma/pragma03.out
+++ b/testdata/language-features/pragma/pragma03.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/language-features/pragma/pragma04.out b/testdata/language-features/pragma/pragma04.out
index 907bca84..521dcdfe 100644
--- a/testdata/language-features/pragma/pragma04.out
+++ b/testdata/language-features/pragma/pragma04.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/language-features/recursion/simplerec01.out b/testdata/language-features/recursion/simplerec01.out
index 89006870..656adc64 100644
--- a/testdata/language-features/recursion/simplerec01.out
+++ b/testdata/language-features/recursion/simplerec01.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun 3fun
3 = \(a :: _) -> case'Bool 4 = \(a :: _) -> case'Bool
@@ -5,7 +6,6 @@ fun
5 (_rhs (fun (fromInt 0))) 6 (_rhs (fun (fromInt 0)))
6 (_rhs 'a') 7 (_rhs 'a')
7 (fromInt 0 == a) 8 (fromInt 0 == a)
8main is not found
9------------ trace 9------------ trace
10fun :: forall a . (Num a, Eq a, Num a) => a -> Char 10fun :: forall a . (Num a, Eq a, Num a) => a -> Char
11------------ tooltips 11------------ tooltips
diff --git a/testdata/language-features/recursion/simplerec02.out b/testdata/language-features/recursion/simplerec02.out
index 7f24ea1c..c0d26e86 100644
--- a/testdata/language-features/recursion/simplerec02.out
+++ b/testdata/language-features/recursion/simplerec02.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = _rhs 4 = _rhs
@@ -8,7 +9,6 @@ value
8 (_rhs (b (fromInt 0))) 9 (_rhs (b (fromInt 0)))
9 (_rhs 'a') 10 (_rhs 'a')
10 (fromInt 0 == c)) -> HNil 11 (fromInt 0 == c)) -> HNil
11main is not found
12------------ trace 12------------ trace
13value :: () 13value :: ()
14------------ tooltips 14------------ tooltips
diff --git a/testdata/language-features/recursion/simplerec03.out b/testdata/language-features/recursion/simplerec03.out
index 512baba5..5c4f7185 100644
--- a/testdata/language-features/recursion/simplerec03.out
+++ b/testdata/language-features/recursion/simplerec03.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2value 3value
3 = _rhs 4 = _rhs
@@ -8,7 +9,6 @@ value
8 (_rhs (b (fromInt 0))) 9 (_rhs (b (fromInt 0)))
9 (_rhs 'a') 10 (_rhs 'a')
10 (fromInt 0 == c)) -> HNil 11 (fromInt 0 == c)) -> HNil
11main is not found
12------------ trace 12------------ trace
13value :: () 13value :: ()
14------------ tooltips 14------------ tooltips
diff --git a/testdata/language-features/section/section01.out b/testdata/language-features/section/section01.out
index dd5e5093..a502f9f5 100644
--- a/testdata/language-features/section/section01.out
+++ b/testdata/language-features/section/section01.out
@@ -1,8 +1,10 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2(!@!) = \_ _ -> _rhs HNil 3(!@!) = \_ _ -> _rhs HNil
4
3value1 = \(a :: _) -> _rhs \(b :: _) -> a !@! b 5value1 = \(a :: _) -> _rhs \(b :: _) -> a !@! b
6
4value2 = \(a :: _) -> _rhs \(b :: _) -> b !@! a 7value2 = \(a :: _) -> _rhs \(b :: _) -> b !@! a
5main is not found
6------------ trace 8------------ trace
7(!@!) :: forall a b . a -> b -> () 9(!@!) :: forall a b . a -> b -> ()
8value1 :: forall a b . a -> b -> () 10value1 :: forall a b . a -> b -> ()
diff --git a/testdata/let.out b/testdata/let.out
index 1789d86f..2f8be352 100644
--- a/testdata/let.out
+++ b/testdata/let.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2f = \(a :: _) -> _rhs \(b := _rhs (id a)) -> b 3f = \(a :: _) -> _rhs \(b := _rhs (id a)) -> b
3main is not found
4------------ trace 4------------ trace
5f :: forall a . a -> a 5f :: forall a . a -> a
6------------ tooltips 6------------ tooltips
diff --git a/testdata/letIndent.out b/testdata/letIndent.out
index c6cf7e43..187a6088 100644
--- a/testdata/letIndent.out
+++ b/testdata/letIndent.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2fun = \(a :: _) -> _rhs \(b := _rhs (fromInt 1)) (c := _rhs (fromInt 2)) -> a 3fun = \(a :: _) -> _rhs \(b := _rhs (fromInt 1)) (c := _rhs (fromInt 2)) -> a
3main is not found
4------------ trace 4------------ trace
5fun :: forall a . a -> a 5fun :: forall a . a -> a
6------------ tooltips 6------------ tooltips
diff --git a/testdata/performance/Material.out b/testdata/performance/Material.out
index a9cebf12..ef9a0f94 100644
--- a/testdata/performance/Material.out
+++ b/testdata/performance/Material.out
@@ -1,16 +1,23 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2identityLight :: Float 3identityLight :: Float
3identityLight = _rhs (fromInt 1) 4identityLight = _rhs (fromInt 1)
5
4data Entity :: Type where 6data Entity :: Type where
5 Entity 7 Entity
6 :: Vec (fromInt 4) Float 8 :: Vec (fromInt 4) Float
7 -> Vec (fromInt 4) Float 9 -> Vec (fromInt 4) Float
8 -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity 10 -> Vec (fromInt 3) Float -> Vec (fromInt 4) Float -> Entity
11
9eAmbientLight = \(a :: _) -> case'Entity (\_ -> _) (\(b :: _) _ _ _ -> _rhs b) a 12eAmbientLight = \(a :: _) -> case'Entity (\_ -> _) (\(b :: _) _ _ _ -> _rhs b) a
13
10eDirectedLight 14eDirectedLight
11 = \(a :: _) -> case'Entity (\_ -> _) (\_ (b :: _) _ _ -> _rhs b) a 15 = \(a :: _) -> case'Entity (\_ -> _) (\_ (b :: _) _ _ -> _rhs b) a
16
12eLightDir = \(a :: _) -> case'Entity (\_ -> _) (\_ _ (b :: _) _ -> _rhs b) a 17eLightDir = \(a :: _) -> case'Entity (\_ -> _) (\_ _ (b :: _) _ -> _rhs b) a
18
13eShaderRGBA = \(a :: _) -> case'Entity (\_ -> _) (\_ _ _ (b :: _) -> _rhs b) a 19eShaderRGBA = \(a :: _) -> case'Entity (\_ -> _) (\_ _ _ (b :: _) -> _rhs b) a
20
14data WaveType :: Type where 21data WaveType :: Type where
15 WT_Sin :: WaveType 22 WT_Sin :: WaveType
16 WT_Triangle :: WaveType 23 WT_Triangle :: WaveType
@@ -18,8 +25,10 @@ data WaveType :: Type where
18 WT_Sawtooth :: WaveType 25 WT_Sawtooth :: WaveType
19 WT_InverseSawtooth :: WaveType 26 WT_InverseSawtooth :: WaveType
20 WT_Noise :: WaveType 27 WT_Noise :: WaveType
28
21data Wave :: Type where 29data Wave :: Type where
22 Wave :: WaveType -> Float -> Float -> Float -> Float -> Wave 30 Wave :: WaveType -> Float -> Float -> Float -> Float -> Wave
31
23data Deform :: Type where 32data Deform :: Type where
24 D_AutoSprite :: Deform 33 D_AutoSprite :: Deform
25 D_AutoSprite2 :: Deform 34 D_AutoSprite2 :: Deform
@@ -36,10 +45,12 @@ data Deform :: Type where
36 D_Text6 :: Deform 45 D_Text6 :: Deform
37 D_Text7 :: Deform 46 D_Text7 :: Deform
38 D_Wave :: Float -> Wave -> Deform 47 D_Wave :: Float -> Wave -> Deform
48
39data CullType :: Type where 49data CullType :: Type where
40 CT_FrontSided :: CullType 50 CT_FrontSided :: CullType
41 CT_BackSided :: CullType 51 CT_BackSided :: CullType
42 CT_TwoSided :: CullType 52 CT_TwoSided :: CullType
53
43data Blending' :: Type where 54data Blending' :: Type where
44 B_DstAlpha :: Blending' 55 B_DstAlpha :: Blending'
45 B_DstColor :: Blending' 56 B_DstColor :: Blending'
@@ -52,6 +63,7 @@ data Blending' :: Type where
52 B_SrcAlphaSaturate :: Blending' 63 B_SrcAlphaSaturate :: Blending'
53 B_SrcColor :: Blending' 64 B_SrcColor :: Blending'
54 B_Zero :: Blending' 65 B_Zero :: Blending'
66
55data RGBGen :: Type where 67data RGBGen :: Type where
56 RGB_Wave :: Wave -> RGBGen 68 RGB_Wave :: Wave -> RGBGen
57 RGB_Const :: Float -> Float -> Float -> RGBGen 69 RGB_Const :: Float -> Float -> Float -> RGBGen
@@ -64,6 +76,7 @@ data RGBGen :: Type where
64 RGB_LightingDiffuse :: RGBGen 76 RGB_LightingDiffuse :: RGBGen
65 RGB_OneMinusVertex :: RGBGen 77 RGB_OneMinusVertex :: RGBGen
66 RGB_Undefined :: RGBGen 78 RGB_Undefined :: RGBGen
79
67data AlphaGen :: Type where 80data AlphaGen :: Type where
68 A_Wave :: Wave -> AlphaGen 81 A_Wave :: Wave -> AlphaGen
69 A_Const :: Float -> AlphaGen 82 A_Const :: Float -> AlphaGen
@@ -74,12 +87,14 @@ data AlphaGen :: Type where
74 A_Vertex :: AlphaGen 87 A_Vertex :: AlphaGen
75 A_LightingSpecular :: AlphaGen 88 A_LightingSpecular :: AlphaGen
76 A_OneMinusVertex :: AlphaGen 89 A_OneMinusVertex :: AlphaGen
90
77data TCGen :: Type where 91data TCGen :: Type where
78 TG_Base :: TCGen 92 TG_Base :: TCGen
79 TG_Lightmap :: TCGen 93 TG_Lightmap :: TCGen
80 TG_Environment :: TCGen 94 TG_Environment :: TCGen
81 TG_Vector :: Vec (fromInt 3) Float -> Vec (fromInt 3) Float -> TCGen 95 TG_Vector :: Vec (fromInt 3) Float -> Vec (fromInt 3) Float -> TCGen
82 TG_Undefined :: TCGen 96 TG_Undefined :: TCGen
97
83data TCMod :: Type where 98data TCMod :: Type where
84 TM_EntityTranslate :: TCMod 99 TM_EntityTranslate :: TCMod
85 TM_Rotate :: Float -> TCMod 100 TM_Rotate :: Float -> TCMod
@@ -88,19 +103,23 @@ data TCMod :: Type where
88 TM_Stretch :: Wave -> TCMod 103 TM_Stretch :: Wave -> TCMod
89 TM_Transform :: Float -> Float -> Float -> Float -> Float -> Float -> TCMod 104 TM_Transform :: Float -> Float -> Float -> Float -> Float -> Float -> TCMod
90 TM_Turb :: Float -> Float -> Float -> Float -> TCMod 105 TM_Turb :: Float -> Float -> Float -> Float -> TCMod
106
91data StageTexture :: Type where 107data StageTexture :: Type where
92 ST_Map :: String -> StageTexture 108 ST_Map :: String -> StageTexture
93 ST_ClampMap :: String -> StageTexture 109 ST_ClampMap :: String -> StageTexture
94 ST_AnimMap :: Float -> [String] -> StageTexture 110 ST_AnimMap :: Float -> [String] -> StageTexture
95 ST_Lightmap :: StageTexture 111 ST_Lightmap :: StageTexture
96 ST_WhiteImage :: StageTexture 112 ST_WhiteImage :: StageTexture
113
97data AlphaFunction :: Type where 114data AlphaFunction :: Type where
98 A_Gt0 :: AlphaFunction 115 A_Gt0 :: AlphaFunction
99 A_Lt128 :: AlphaFunction 116 A_Lt128 :: AlphaFunction
100 A_Ge128 :: AlphaFunction 117 A_Ge128 :: AlphaFunction
118
101data DepthFunction :: Type where 119data DepthFunction :: Type where
102 D_Equal :: DepthFunction 120 D_Equal :: DepthFunction
103 D_Lequal :: DepthFunction 121 D_Lequal :: DepthFunction
122
104data StageAttrs :: Type where 123data StageAttrs :: Type where
105 StageAttrs 124 StageAttrs
106 :: Maybe (HList (Blending' : Blending' : '[])) 125 :: Maybe (HList (Blending' : Blending' : '[]))
@@ -110,61 +129,73 @@ data StageAttrs :: Type where
110 -> [TCMod] 129 -> [TCMod]
111 -> StageTexture 130 -> StageTexture
112 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs 131 -> Bool -> DepthFunction -> Maybe AlphaFunction -> Bool -> String -> StageAttrs
132
113saBlend 133saBlend
114 = \(a :: _) -> case'StageAttrs 134 = \(a :: _) -> case'StageAttrs
115 (\_ -> _) 135 (\_ -> _)
116 (\(b :: _) _ _ _ _ _ _ _ _ _ _ -> _rhs b) 136 (\(b :: _) _ _ _ _ _ _ _ _ _ _ -> _rhs b)
117 a 137 a
138
118saRGBGen 139saRGBGen
119 = \(a :: _) -> case'StageAttrs 140 = \(a :: _) -> case'StageAttrs
120 (\_ -> _) 141 (\_ -> _)
121 (\_ (b :: _) _ _ _ _ _ _ _ _ _ -> _rhs b) 142 (\_ (b :: _) _ _ _ _ _ _ _ _ _ -> _rhs b)
122 a 143 a
144
123saAlphaGen 145saAlphaGen
124 = \(a :: _) -> case'StageAttrs 146 = \(a :: _) -> case'StageAttrs
125 (\_ -> _) 147 (\_ -> _)
126 (\_ _ (b :: _) _ _ _ _ _ _ _ _ -> _rhs b) 148 (\_ _ (b :: _) _ _ _ _ _ _ _ _ -> _rhs b)
127 a 149 a
150
128saTCGen 151saTCGen
129 = \(a :: _) -> case'StageAttrs 152 = \(a :: _) -> case'StageAttrs
130 (\_ -> _) 153 (\_ -> _)
131 (\_ _ _ (b :: _) _ _ _ _ _ _ _ -> _rhs b) 154 (\_ _ _ (b :: _) _ _ _ _ _ _ _ -> _rhs b)
132 a 155 a
156
133saTCMod 157saTCMod
134 = \(a :: _) -> case'StageAttrs 158 = \(a :: _) -> case'StageAttrs
135 (\_ -> _) 159 (\_ -> _)
136 (\_ _ _ _ (b :: _) _ _ _ _ _ _ -> _rhs b) 160 (\_ _ _ _ (b :: _) _ _ _ _ _ _ -> _rhs b)
137 a 161 a
162
138saTexture 163saTexture
139 = \(a :: _) -> case'StageAttrs 164 = \(a :: _) -> case'StageAttrs
140 (\_ -> _) 165 (\_ -> _)
141 (\_ _ _ _ _ (b :: _) _ _ _ _ _ -> _rhs b) 166 (\_ _ _ _ _ (b :: _) _ _ _ _ _ -> _rhs b)
142 a 167 a
168
143saDepthWrite 169saDepthWrite
144 = \(a :: _) -> case'StageAttrs 170 = \(a :: _) -> case'StageAttrs
145 (\_ -> _) 171 (\_ -> _)
146 (\_ _ _ _ _ _ (b :: _) _ _ _ _ -> _rhs b) 172 (\_ _ _ _ _ _ (b :: _) _ _ _ _ -> _rhs b)
147 a 173 a
174
148saDepthFunc 175saDepthFunc
149 = \(a :: _) -> case'StageAttrs 176 = \(a :: _) -> case'StageAttrs
150 (\_ -> _) 177 (\_ -> _)
151 (\_ _ _ _ _ _ _ (b :: _) _ _ _ -> _rhs b) 178 (\_ _ _ _ _ _ _ (b :: _) _ _ _ -> _rhs b)
152 a 179 a
180
153saAlphaFunc 181saAlphaFunc
154 = \(a :: _) -> case'StageAttrs 182 = \(a :: _) -> case'StageAttrs
155 (\_ -> _) 183 (\_ -> _)
156 (\_ _ _ _ _ _ _ _ (b :: _) _ _ -> _rhs b) 184 (\_ _ _ _ _ _ _ _ (b :: _) _ _ -> _rhs b)
157 a 185 a
186
158saDepthMaskExplicit 187saDepthMaskExplicit
159 = \(a :: _) -> case'StageAttrs 188 = \(a :: _) -> case'StageAttrs
160 (\_ -> _) 189 (\_ -> _)
161 (\_ _ _ _ _ _ _ _ _ (b :: _) _ -> _rhs b) 190 (\_ _ _ _ _ _ _ _ _ (b :: _) _ -> _rhs b)
162 a 191 a
192
163saTextureUniform 193saTextureUniform
164 = \(a :: _) -> case'StageAttrs 194 = \(a :: _) -> case'StageAttrs
165 (\_ -> _) 195 (\_ -> _)
166 (\_ _ _ _ _ _ _ _ _ _ (b :: _) -> _rhs b) 196 (\_ _ _ _ _ _ _ _ _ _ (b :: _) -> _rhs b)
167 a 197 a
198
168defaultStageAttrs :: StageAttrs 199defaultStageAttrs :: StageAttrs
169defaultStageAttrs 200defaultStageAttrs
170 = _rhs 201 = _rhs
@@ -180,6 +211,7 @@ defaultStageAttrs
180 Nothing 211 Nothing
181 False 212 False
182 "") 213 "")
214
183data CommonAttrs :: Type where 215data CommonAttrs :: Type where
184 CommonAttrs 216 CommonAttrs
185 :: HList '[] 217 :: HList '[]
@@ -189,66 +221,79 @@ data CommonAttrs :: Type where
189 -> Bool 221 -> Bool
190 -> Bool 222 -> Bool
191 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs 223 -> CullType -> [Deform] -> Bool -> Bool -> [StageAttrs] -> Bool -> CommonAttrs
224
192caSkyParms 225caSkyParms
193 = \(a :: _) -> case'CommonAttrs 226 = \(a :: _) -> case'CommonAttrs
194 (\_ -> _) 227 (\_ -> _)
195 (\(b :: _) _ _ _ _ _ _ _ _ _ _ _ -> _rhs b) 228 (\(b :: _) _ _ _ _ _ _ _ _ _ _ _ -> _rhs b)
196 a 229 a
230
197caFogParms 231caFogParms
198 = \(a :: _) -> case'CommonAttrs 232 = \(a :: _) -> case'CommonAttrs
199 (\_ -> _) 233 (\_ -> _)
200 (\_ (b :: _) _ _ _ _ _ _ _ _ _ _ -> _rhs b) 234 (\_ (b :: _) _ _ _ _ _ _ _ _ _ _ -> _rhs b)
201 a 235 a
236
202caPortal 237caPortal
203 = \(a :: _) -> case'CommonAttrs 238 = \(a :: _) -> case'CommonAttrs
204 (\_ -> _) 239 (\_ -> _)
205 (\_ _ (b :: _) _ _ _ _ _ _ _ _ _ -> _rhs b) 240 (\_ _ (b :: _) _ _ _ _ _ _ _ _ _ -> _rhs b)
206 a 241 a
242
207caSort 243caSort
208 = \(a :: _) -> case'CommonAttrs 244 = \(a :: _) -> case'CommonAttrs
209 (\_ -> _) 245 (\_ -> _)
210 (\_ _ _ (b :: _) _ _ _ _ _ _ _ _ -> _rhs b) 246 (\_ _ _ (b :: _) _ _ _ _ _ _ _ _ -> _rhs b)
211 a 247 a
248
212caEntityMergable 249caEntityMergable
213 = \(a :: _) -> case'CommonAttrs 250 = \(a :: _) -> case'CommonAttrs
214 (\_ -> _) 251 (\_ -> _)
215 (\_ _ _ _ (b :: _) _ _ _ _ _ _ _ -> _rhs b) 252 (\_ _ _ _ (b :: _) _ _ _ _ _ _ _ -> _rhs b)
216 a 253 a
254
217caFogOnly 255caFogOnly
218 = \(a :: _) -> case'CommonAttrs 256 = \(a :: _) -> case'CommonAttrs
219 (\_ -> _) 257 (\_ -> _)
220 (\_ _ _ _ _ (b :: _) _ _ _ _ _ _ -> _rhs b) 258 (\_ _ _ _ _ (b :: _) _ _ _ _ _ _ -> _rhs b)
221 a 259 a
260
222caCull 261caCull
223 = \(a :: _) -> case'CommonAttrs 262 = \(a :: _) -> case'CommonAttrs
224 (\_ -> _) 263 (\_ -> _)
225 (\_ _ _ _ _ _ (b :: _) _ _ _ _ _ -> _rhs b) 264 (\_ _ _ _ _ _ (b :: _) _ _ _ _ _ -> _rhs b)
226 a 265 a
266
227caDeformVertexes 267caDeformVertexes
228 = \(a :: _) -> case'CommonAttrs 268 = \(a :: _) -> case'CommonAttrs
229 (\_ -> _) 269 (\_ -> _)
230 (\_ _ _ _ _ _ _ (b :: _) _ _ _ _ -> _rhs b) 270 (\_ _ _ _ _ _ _ (b :: _) _ _ _ _ -> _rhs b)
231 a 271 a
272
232caNoMipMaps 273caNoMipMaps
233 = \(a :: _) -> case'CommonAttrs 274 = \(a :: _) -> case'CommonAttrs
234 (\_ -> _) 275 (\_ -> _)
235 (\_ _ _ _ _ _ _ _ (b :: _) _ _ _ -> _rhs b) 276 (\_ _ _ _ _ _ _ _ (b :: _) _ _ _ -> _rhs b)
236 a 277 a
278
237caPolygonOffset 279caPolygonOffset
238 = \(a :: _) -> case'CommonAttrs 280 = \(a :: _) -> case'CommonAttrs
239 (\_ -> _) 281 (\_ -> _)
240 (\_ _ _ _ _ _ _ _ _ (b :: _) _ _ -> _rhs b) 282 (\_ _ _ _ _ _ _ _ _ (b :: _) _ _ -> _rhs b)
241 a 283 a
284
242caStages 285caStages
243 = \(a :: _) -> case'CommonAttrs 286 = \(a :: _) -> case'CommonAttrs
244 (\_ -> _) 287 (\_ -> _)
245 (\_ _ _ _ _ _ _ _ _ _ (b :: _) _ -> _rhs b) 288 (\_ _ _ _ _ _ _ _ _ _ (b :: _) _ -> _rhs b)
246 a 289 a
290
247caIsSky 291caIsSky
248 = \(a :: _) -> case'CommonAttrs 292 = \(a :: _) -> case'CommonAttrs
249 (\_ -> _) 293 (\_ -> _)
250 (\_ _ _ _ _ _ _ _ _ _ _ (b :: _) -> _rhs b) 294 (\_ _ _ _ _ _ _ _ _ _ _ (b :: _) -> _rhs b)
251 a 295 a
296
252defaultCommonAttrs :: CommonAttrs 297defaultCommonAttrs :: CommonAttrs
253defaultCommonAttrs 298defaultCommonAttrs
254 = _rhs 299 = _rhs
@@ -265,7 +310,6 @@ defaultCommonAttrs
265 False 310 False
266 [] 311 []
267 False) 312 False)
268main is not found
269------------ trace 313------------ trace
270identityLight :: Float 314identityLight :: Float
271'Entity :: Type 315'Entity :: Type
diff --git a/testdata/performance/SampleMaterial.out b/testdata/performance/SampleMaterial.out
index 95b4da4a..d48fe86c 100644
--- a/testdata/performance/SampleMaterial.out
+++ b/testdata/performance/SampleMaterial.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2sampleMaterial 3sampleMaterial
3 = _rhs 4 = _rhs
@@ -2076,7 +2077,6 @@ sampleMaterial
2076 False) 2077 False)
2077 HNil) 2078 HNil)
2078 : []) 2079 : [])
2079main is not found
2080------------ trace 2080------------ trace
2081sampleMaterial :: [(String, CommonAttrs)] 2081sampleMaterial :: [(String, CommonAttrs)]
2082------------ tooltips 2082------------ tooltips
diff --git a/testdata/qualified.out b/testdata/qualified.out
index 907bca84..521dcdfe 100644
--- a/testdata/qualified.out
+++ b/testdata/qualified.out
@@ -1,2 +1,2 @@
1------------ desugared source code
2main is not found 1main is not found
2------------ desugared source code \ No newline at end of file
diff --git a/testdata/traceTest.out b/testdata/traceTest.out
index d796730f..75428209 100644
--- a/testdata/traceTest.out
+++ b/testdata/traceTest.out
@@ -1,10 +1,12 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2id = \(a :: _) -> _rhs a 3id = \(a :: _) -> _rhs a
4
3data X (_ :: Type) (_ :: _a) :: Type where 5data X (_ :: Type) (_ :: _a) :: Type where
4 6
7
5x :: X \(a :: _) (b :: _) -> HList (a : b : '[]) 8x :: X \(a :: _) (b :: _) -> HList (a : b : '[])
6x = _rhs undefined 9x = _rhs undefined
7main is not found
8------------ trace 10------------ trace
9id :: forall a . a -> a 11id :: forall a . a -> a
10'X :: forall a . a -> Type 12'X :: forall a . a -> Type
diff --git a/testdata/typeclass.out b/testdata/typeclass.out
index b74a7e31..aecc4686 100644
--- a/testdata/typeclass.out
+++ b/testdata/typeclass.out
@@ -1,12 +1,21 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2infix 4 == 3infix 4 ==
4
3infix 4 /= 5infix 4 /=
6
4infix 4 < 7infix 4 <
8
5infixr 3 && 9infixr 3 &&
10
6infixr 2 || 11infixr 2 ||
12
7not = \(a :: _) -> case'Bool (\_ -> _) (_rhs True) (_rhs False) a 13not = \(a :: _) -> case'Bool (\_ -> _) (_rhs True) (_rhs False) a
14
8(&&) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs False) (_rhs b) a 15(&&) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs False) (_rhs b) a
16
9(||) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs b) (_rhs True) a 17(||) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs b) (_rhs True) a
18
10'Eq :: Type -> Type 19'Eq :: Type -> Type
11'Eq 20'Eq
12 = \(a :: _) -> match'Bool 21 = \(a :: _) -> match'Bool
@@ -14,6 +23,7 @@ not = \(a :: _) -> case'Bool (\_ -> _) (_rhs True) (_rhs False) a
14 (_rhs 'Unit) 23 (_rhs 'Unit)
15 a 24 a
16 (_rhs ('Empty "no instance of 'Eq on ???")) 25 (_rhs ('Empty "no instance of 'Eq on ???"))
26
17(==) :: forall a . Eq a => a -> a -> Bool 27(==) :: forall a . Eq a => a -> a -> Bool
18(==) 28(==)
19 = \ @a @_ -> match'Bool 29 = \ @a @_ -> match'Bool
@@ -23,8 +33,8 @@ not = \(a :: _) -> case'Bool (\_ -> _) (_rhs True) (_rhs False) a
23 := \(c :: _) (d :: _) -> case'Bool (\_ -> _) (_rhs (not d)) (_rhs d) c) -> b) 33 := \(c :: _) (d :: _) -> case'Bool (\_ -> _) (_rhs (not d)) (_rhs d) c) -> b)
24 a 34 a
25 (_rhs undefined) 35 (_rhs undefined)
36
26(/=) = \(a :: _) (b :: _) -> _rhs (not (a == b)) 37(/=) = \(a :: _) (b :: _) -> _rhs (not (a == b))
27main is not found
28------------ trace 38------------ trace
29not :: Bool -> Bool 39not :: Bool -> Bool
30(&&) :: Bool -> Bool -> Bool 40(&&) :: Bool -> Bool -> Bool
diff --git a/testdata/where.out b/testdata/where.out
index 89ee58f1..6ba06bfc 100644
--- a/testdata/where.out
+++ b/testdata/where.out
@@ -1,6 +1,6 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2f = _rhs \(a := _rhs \(c := _rhs 1.0) -> c) (b := _rhs 1.0) -> b 3f = _rhs \(a := _rhs \(c := _rhs 1.0) -> c) (b := _rhs 1.0) -> b
3main is not found
4------------ trace 4------------ trace
5f :: Float 5f :: Float
6------------ tooltips 6------------ tooltips
diff --git a/testdata/zip01.out b/testdata/zip01.out
index 582866bb..650f67b5 100644
--- a/testdata/zip01.out
+++ b/testdata/zip01.out
@@ -1,3 +1,4 @@
1main is not found
1------------ desugared source code 2------------ desugared source code
2zip2 :: forall (a :: _) (b :: _) . [a] -> [b] -> [HList (a : b : '[])] 3zip2 :: forall (a :: _) (b :: _) . [a] -> [b] -> [HList (a : b : '[])]
3zip2 4zip2
@@ -10,7 +11,6 @@ zip2
10 (\(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip2 d f)) 11 (\(e :: _) (f :: _) -> _rhs (HCons c (HCons e HNil) : zip2 d f))
11 b) 12 b)
12 a 13 a
13main is not found
14------------ trace 14------------ trace
15zip2 :: forall a b . [a] -> [b] -> [(a, b)] 15zip2 :: forall a b . [a] -> [b] -> [(a, b)]
16------------ tooltips 16------------ tooltips