diff --git a/ghc/tests/array/should_run/arr003.stderr b/ghc/tests/array/should_run/arr003.stderr index a3f331b3dfff20545f9beb64f0072da2a4a3373d..8573ab8cd19f4a62ffb1f6b43f12b51c69e82390 100644 --- a/ghc/tests/array/should_run/arr003.stderr +++ b/ghc/tests/array/should_run/arr003.stderr @@ -1,2 +1,2 @@ -Fail: Ix{Int}.index: Index (4) out of range ((1,3)) \ No newline at end of file +Fail: Ix{Int}.index: Index (4) out of range ((1,3)) diff --git a/ghc/tests/array/should_run/arr004.stderr b/ghc/tests/array/should_run/arr004.stderr index b39ffa0205c19969b3ece2606f5cf210f56501c3..a2cdf2367b04fb7b53bd556c5041fb228e0512f5 100644 --- a/ghc/tests/array/should_run/arr004.stderr +++ b/ghc/tests/array/should_run/arr004.stderr @@ -1,2 +1,2 @@ -Fail: (Array.!): undefined array element \ No newline at end of file +Fail: (Array.!): undefined array element diff --git a/ghc/tests/array/should_run/arr007.stderr b/ghc/tests/array/should_run/arr007.stderr index 2cf8859975233aaefc96a984e6ab2b7e82552680..1850563dc55df07ae0204b758d590309df911d27 100644 --- a/ghc/tests/array/should_run/arr007.stderr +++ b/ghc/tests/array/should_run/arr007.stderr @@ -1,2 +1,2 @@ -Fail: Ix{Int}.index: Index (1) out of range ((1,0)) \ No newline at end of file +Fail: Ix{Int}.index: Index (1) out of range ((1,0)) diff --git a/ghc/tests/array/should_run/arr008.stderr b/ghc/tests/array/should_run/arr008.stderr index 8da40d26cfb8ae3f4a7d6ae8dce30fbc2aed7868..42ab1caa46835a21f5536fd31f7bde0233398833 100644 --- a/ghc/tests/array/should_run/arr008.stderr +++ b/ghc/tests/array/should_run/arr008.stderr @@ -1,2 +1,2 @@ -Fail: Ix{Int}.index: Index (2) out of range ((0,1)) \ No newline at end of file +Fail: Ix{Int}.index: Index (2) out of range ((0,1)) diff --git a/ghc/tests/ccall/should_fail/cc001.stderr b/ghc/tests/ccall/should_fail/cc001.stderr index b31426c831012efe6ded4914d4875d0bc049d1f1..dfeb20ac6d1b61996229ab19df9286cb98227b0b 100644 --- a/ghc/tests/ccall/should_fail/cc001.stderr +++ b/ghc/tests/ccall/should_fail/cc001.stderr @@ -1,8 +1,7 @@ cc001.hs:5: - Ambiguous type variable(s) - `aQf' - in the constraint `PrelGHC.CCallable aQf' + Ambiguous type variable(s) `$0' + in the constraint `PrelGHC.CCallable $0' arising from an argument in the _ccall_ to `foo', namely `(undefined ())' at cc001.hs:5 diff --git a/ghc/tests/ccall/should_fail/cc002.stderr b/ghc/tests/ccall/should_fail/cc002.stderr index de8014b61e505b69c478f63164a979bd02720f21..4157c7ec8df81917855aadbbb03388ed17f8f023 100644 --- a/ghc/tests/ccall/should_fail/cc002.stderr +++ b/ghc/tests/ccall/should_fail/cc002.stderr @@ -1,15 +1,7 @@ -PrelForeign.hi:19: - Constructors for `ForeignObj' not visible when checking `PrelGHC.CCallable' instance - (Try either importing ForeignObj non-abstractly or compile using -fno-prune-tydecls ..) - -cc002.hs:18: - No instance for `PrelGHC.CCallable ForeignObj' - (arising from an argument in the _ccall_ to `c', namely `x' at cc002.hs:18) - cc002.hs:10: No instance for `PrelGHC.CReturnable ForeignObj' - (arising from the result of the _ccall_ to `a' at cc002.hs:10) + arising from the result of the _ccall_ to `a' at cc002.hs:10 Compilation had errors diff --git a/ghc/tests/ccall/should_fail/cc004.stderr b/ghc/tests/ccall/should_fail/cc004.stderr index d9a4ae7207589c95a45650e9110533d4192cf489..317374018e30b7ba8350384bdac030af946450a4 100644 --- a/ghc/tests/ccall/should_fail/cc004.stderr +++ b/ghc/tests/ccall/should_fail/cc004.stderr @@ -1,11 +1,11 @@ cc004.hs:2: Cannot generalise these overloadings (in a _ccall_): - `PrelGHC.CReturnable aSE' arising from the result of the _ccall_ to `f' at cc004.hs:18 + `PrelGHC.CReturnable $ren' arising from the result of the _ccall_ to `f' at cc004.hs:18 cc004.hs:2: Cannot generalise these overloadings (in a _ccall_): - `PrelGHC.CReturnable aTM' arising from the result of the _ccall_ to `f' at cc004.hs:11 + `PrelGHC.CReturnable a' arising from the result of the _ccall_ to `f' at cc004.hs:11 Compilation had errors diff --git a/ghc/tests/codeGen/should_run/cg016.stderr b/ghc/tests/codeGen/should_run/cg016.stderr index 8a4e21146a4aa26bc1959cb916ca3984ab88565d..2d16aa5acd76da521a9dc588be126a66eb7959ae 100644 --- a/ghc/tests/codeGen/should_run/cg016.stderr +++ b/ghc/tests/codeGen/should_run/cg016.stderr @@ -1,12 +1,2 @@ -Fail: 1st call to error - -Fail: 2nd call to error - -Fail: 3rd call to error - -Fail: 4th call to error - -Fail: 5th call to error - -Fail: 6th call to error \ No newline at end of file +Fail: 6th call to error diff --git a/ghc/tests/codeGen/should_run/cg025.hs b/ghc/tests/codeGen/should_run/cg025.hs index 618e3b14c2e608573be9cf1e3db7fdfc1be20adf..97b7b21be0572b9139828dd4db1900ea9ceec8e4 100644 --- a/ghc/tests/codeGen/should_run/cg025.hs +++ b/ghc/tests/codeGen/should_run/cg025.hs @@ -17,4 +17,4 @@ main = do file_cts <- readFile (head args) hPutStr stderr file_cts trace "hello, trace" $ - catch (getEnv "__WURBLE__" >> return ()) (\ e -> error "hello, error\n") + catch (getEnv "__WURBLE__" >> return ()) (\ e -> error "hello, error") diff --git a/ghc/tests/codeGen/should_run/cg025.stderr b/ghc/tests/codeGen/should_run/cg025.stderr index 063a689ed29e67ae6c160300ea541c0a5dce83ad..69312f2e8264b9de49490c4fab453b07ed5f1e5f 100644 --- a/ghc/tests/codeGen/should_run/cg025.stderr +++ b/ghc/tests/codeGen/should_run/cg025.stderr @@ -20,6 +20,7 @@ main = do file_cts <- readFile (head args) hPutStr stderr file_cts trace "hello, trace" $ - catch (getEnv "__WURBLE__" >> return ()) (\ e -> error "hello, error\n") + catch (getEnv "__WURBLE__" >> return ()) (\ e -> error "hello, error") hello, trace + Fail: hello, error diff --git a/ghc/tests/codeGen/should_run/cg026.stdout b/ghc/tests/codeGen/should_run/cg026.stdout index 87dcba4778076ee043a4bea7a1fc0259e2f06c48..11104a9fd8f3c4222cd816e43deaf04b73029b1e 100644 --- a/ghc/tests/codeGen/should_run/cg026.stdout +++ b/ghc/tests/codeGen/should_run/cg026.stdout @@ -1,5 +1,3 @@ -93 -...ot emoc ot nem doog lla rof emit eht si woN [1764,1849,1936,2025,2116,2209,2304,2401,2500,2601,2704,2809,2916,3025,3136,3249,3364,3481,3600,3721,3844,3969,4096,4225,4356,4489,4624,4761,4900,5041,5184,5329,5476,5625,5776,5929,6084,6241,6400,6561,6724,6889,7056,7225,7396,7569,7744,7921,8100,8281,8464,8649,8836,9025,9216,9409,9604,9801,10000,10201,10404,10609,10816,11025,11236,11449,11664,11881,12100,12321,12544,12769,12996,13225,13456,13689,13924,14161,14400,14641,14884,15129,15376,15625,15876,16129,16384,16641,16900,17161,17424,17689,17956,18225,18496,18769,19044,19321,19600,19881,20164,20449,20736,21025,21316,21609,21904,22201,22500,22801,23104,23409,23716,24025,24336,24649,24964,25281,25600,25921,26244,26569,26896,27225,27556,27889,28224,28561,28900,29241,29584,29929,30276,30625,30976,31329,31684,32041,32400,32761,33124,33489,33856,34225,34596,34969,35344,35721,36100,36481,36864,37249,37636,38025,38416,38809,39204,39601,40000,40401,40804,41209,41616,42025,42436,42849,43264,43681,44100,44521,44944,45369,45796,46225,46656,47089,47524,47961,48400,48841,49284,49729,50176,50625,51076,51529,51984,52441,52900,53361,53824,54289,54756,55225,55696,56169,56644,57121,57600,58081,58564,59049,59536,60025,60516,61009,61504,62001,62500,63001,63504,64009,64516,65025,65536,66049,66564,67081,67600,68121,68644,69169,69696,70225,70756,71289,71824,72361,72900,73441,73984,74529,75076,75625,76176,76729,77284,77841,78400,78961,79524,80089,80656,81225,81796,82369,82944,83521,84100,84681,85264,85849,86436,87025,87616,88209,88804,89401,90000,90601,91204,91809,92416,93025,93636,94249,94864,95481,96100,96721,97344,97969,98596,99225,99856,100489,101124,101761,102400,103041,103684,104329,104976,105625,106276,106929,107584,108241,108900,109561,110224,110889,111556,112225,112896,113569,114244,114921,115600,116281,116964,117649,118336,119025,119716,120409,121104,121801,122500,123201,123904,124609,125316,126025,126736,127449,128164,128881,129600,130321,131044,131769,132496,133225,133956,134689,135424,136161,136900,137641,138384,139129,139876,140625,141376,142129,142884,143641,144400,145161,145924,146689,147456,148225,148996,149769,150544,151321,152100,152881,153664,154449,155236,156025,156816,157609,158404,159201,160000,160801,161604,162409,163216,164025,164836,165649,166464,167281,168100,168921,169744,170569,171396,172225,173056] @@ -11,3 +9,5 @@ [1764 % 1,1849 % 1,1936 % 1,2025 % 1,2116 % 1,2209 % 1,2304 % 1,2401 % 1,2500 % 1,2601 % 1,2704 % 1,2809 % 1,2916 % 1,3025 % 1,3136 % 1,3249 % 1,3364 % 1,3481 % 1,3600 % 1,3721 % 1,3844 % 1,3969 % 1,4096 % 1,4225 % 1,4356 % 1,4489 % 1,4624 % 1,4761 % 1,4900 % 1,5041 % 1,5184 % 1,5329 % 1,5476 % 1,5625 % 1,5776 % 1,5929 % 1,6084 % 1,6241 % 1,6400 % 1,6561 % 1,6724 % 1,6889 % 1,7056 % 1,7225 % 1,7396 % 1,7569 % 1,7744 % 1,7921 % 1,8100 % 1,8281 % 1,8464 % 1,8649 % 1,8836 % 1,9025 % 1,9216 % 1,9409 % 1,9604 % 1,9801 % 1,10000 % 1,10201 % 1,10404 % 1,10609 % 1,10816 % 1,11025 % 1,11236 % 1,11449 % 1,11664 % 1,11881 % 1,12100 % 1,12321 % 1,12544 % 1,12769 % 1,12996 % 1,13225 % 1,13456 % 1,13689 % 1,13924 % 1,14161 % 1,14400 % 1,14641 % 1,14884 % 1,15129 % 1,15376 % 1,15625 % 1,15876 % 1,16129 % 1,16384 % 1,16641 % 1,16900 % 1,17161 % 1,17424 % 1,17689 % 1,17956 % 1,18225 % 1,18496 % 1,18769 % 1,19044 % 1,19321 % 1,19600 % 1,19881 % 1,20164 % 1,20449 % 1,20736 % 1,21025 % 1,21316 % 1,21609 % 1,21904 % 1,22201 % 1,22500 % 1,22801 % 1,23104 % 1,23409 % 1,23716 % 1,24025 % 1,24336 % 1,24649 % 1,24964 % 1,25281 % 1,25600 % 1,25921 % 1,26244 % 1,26569 % 1,26896 % 1,27225 % 1,27556 % 1,27889 % 1,28224 % 1,28561 % 1,28900 % 1,29241 % 1,29584 % 1,29929 % 1,30276 % 1,30625 % 1,30976 % 1,31329 % 1,31684 % 1,32041 % 1,32400 % 1,32761 % 1,33124 % 1,33489 % 1,33856 % 1,34225 % 1,34596 % 1,34969 % 1,35344 % 1,35721 % 1,36100 % 1,36481 % 1,36864 % 1,37249 % 1,37636 % 1,38025 % 1,38416 % 1,38809 % 1,39204 % 1,39601 % 1,40000 % 1,40401 % 1,40804 % 1,41209 % 1,41616 % 1,42025 % 1,42436 % 1,42849 % 1,43264 % 1,43681 % 1,44100 % 1,44521 % 1,44944 % 1,45369 % 1,45796 % 1,46225 % 1,46656 % 1,47089 % 1,47524 % 1,47961 % 1,48400 % 1,48841 % 1,49284 % 1,49729 % 1,50176 % 1,50625 % 1,51076 % 1,51529 % 1,51984 % 1,52441 % 1,52900 % 1,53361 % 1,53824 % 1,54289 % 1,54756 % 1,55225 % 1,55696 % 1,56169 % 1,56644 % 1,57121 % 1,57600 % 1,58081 % 1,58564 % 1,59049 % 1,59536 % 1,60025 % 1,60516 % 1,61009 % 1,61504 % 1,62001 % 1,62500 % 1,63001 % 1,63504 % 1,64009 % 1,64516 % 1,65025 % 1,65536 % 1,66049 % 1,66564 % 1,67081 % 1,67600 % 1,68121 % 1,68644 % 1,69169 % 1,69696 % 1,70225 % 1,70756 % 1,71289 % 1,71824 % 1,72361 % 1,72900 % 1,73441 % 1,73984 % 1,74529 % 1,75076 % 1,75625 % 1,76176 % 1,76729 % 1,77284 % 1,77841 % 1,78400 % 1,78961 % 1,79524 % 1,80089 % 1,80656 % 1,81225 % 1,81796 % 1,82369 % 1,82944 % 1,83521 % 1,84100 % 1,84681 % 1,85264 % 1,85849 % 1,86436 % 1,87025 % 1,87616 % 1,88209 % 1,88804 % 1,89401 % 1,90000 % 1,90601 % 1,91204 % 1,91809 % 1,92416 % 1,93025 % 1,93636 % 1,94249 % 1,94864 % 1,95481 % 1,96100 % 1,96721 % 1,97344 % 1,97969 % 1,98596 % 1,99225 % 1,99856 % 1,100489 % 1,101124 % 1,101761 % 1,102400 % 1,103041 % 1,103684 % 1,104329 % 1,104976 % 1,105625 % 1,106276 % 1,106929 % 1,107584 % 1,108241 % 1,108900 % 1,109561 % 1,110224 % 1,110889 % 1,111556 % 1,112225 % 1,112896 % 1,113569 % 1,114244 % 1,114921 % 1,115600 % 1,116281 % 1,116964 % 1,117649 % 1,118336 % 1,119025 % 1,119716 % 1,120409 % 1,121104 % 1,121801 % 1,122500 % 1,123201 % 1,123904 % 1,124609 % 1,125316 % 1,126025 % 1,126736 % 1,127449 % 1,128164 % 1,128881 % 1,129600 % 1,130321 % 1,131044 % 1,131769 % 1,132496 % 1,133225 % 1,133956 % 1,134689 % 1,135424 % 1,136161 % 1,136900 % 1,137641 % 1,138384 % 1,139129 % 1,139876 % 1,140625 % 1,141376 % 1,142129 % 1,142884 % 1,143641 % 1,144400 % 1,145161 % 1,145924 % 1,146689 % 1,147456 % 1,148225 % 1,148996 % 1,149769 % 1,150544 % 1,151321 % 1,152100 % 1,152881 % 1,153664 % 1,154449 % 1,155236 % 1,156025 % 1,156816 % 1,157609 % 1,158404 % 1,159201 % 1,160000 % 1,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5,3 % 5] +93 +...ot emoc ot nem doog lla rof emit eht si woN diff --git a/ghc/tests/deSugar/should_compile/ds003.stderr b/ghc/tests/deSugar/should_compile/ds003.stderr index 1ad474682daa67015dba96df49fe72bdbf395bb4..3b040b67fa12003ead685d50ff476e2c926fb3a3 100644 --- a/ghc/tests/deSugar/should_compile/ds003.stderr +++ b/ghc/tests/deSugar/should_compile/ds003.stderr @@ -1,5 +1,5 @@ ds003.hs:5: Pattern match(es) are overlapped in the definition of function `f' - (x : (x1 : (x2 : x3))) ~(y, ys) z = ... + (: x (: x1 (: x2 x3))) ~(y, ys) z = ... x y True = ... diff --git a/ghc/tests/deSugar/should_compile/ds020.stderr b/ghc/tests/deSugar/should_compile/ds020.stderr index e4ee602d2f7bc31f4f6b863b029c58cfca36af49..e1d1baece9373500ead443389c855351a4817a32 100644 --- a/ghc/tests/deSugar/should_compile/ds020.stderr +++ b/ghc/tests/deSugar/should_compile/ds020.stderr @@ -3,7 +3,7 @@ ds020.hs:5: ~(~[], ~[], ~[]) = ... ds020.hs:8: Pattern match(es) are overlapped in the definition of function `b' - ~(~x : (~xs : ~ys)) = ... + ~(: ~x (: ~xs ~ys)) = ... ds020.hs:13: Pattern match(es) are overlapped in the definition of function `d' ~(n+43) = ... @@ -12,5 +12,3 @@ ds020.hs:19: Pattern match(es) are overlapped in the definition of function `f' (x@~[]) = ... - -NOTE: Simplifier still going after 4 iterations; bailing out. diff --git a/ghc/tests/deSugar/should_compile/ds034.stderr b/ghc/tests/deSugar/should_compile/ds034.stderr index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0af03cd0f96c4279a0d2247d03132618d1fc5df3 100644 --- a/ghc/tests/deSugar/should_compile/ds034.stderr +++ b/ghc/tests/deSugar/should_compile/ds034.stderr @@ -0,0 +1 @@ +NOTE: Simplifier still going after 4 iterations; baling out. diff --git a/ghc/tests/deSugar/should_run/dsrun001.stdout b/ghc/tests/deSugar/should_run/dsrun001.stdout index 130e6b0b7d4c177391f90a8a088b58621cb710d0..a375d0fe244e2d43cb89de13428109643711180b 100644 --- a/ghc/tests/deSugar/should_run/dsrun001.stdout +++ b/ghc/tests/deSugar/should_run/dsrun001.stdout @@ -1 +1 @@ -[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)] +[(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3)] diff --git a/ghc/tests/deSugar/should_run/dsrun005.stderr b/ghc/tests/deSugar/should_run/dsrun005.stderr index cda0dfc2ebdaab914ecbbfe3fd9a8ebf49e33ef9..f266a5a561dc6767afb8abead27577245a44edf1 100644 --- a/ghc/tests/deSugar/should_run/dsrun005.stderr +++ b/ghc/tests/deSugar/should_run/dsrun005.stderr @@ -1,2 +1,2 @@ +dsrun005.hs:42: Non-exhaustive patterns in function f -Fail: dsrun005.hs:42: Non-exhaustive patterns in function f diff --git a/ghc/tests/deriving/should_compile/drv006.stderr b/ghc/tests/deriving/should_compile/drv006.stderr index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0af03cd0f96c4279a0d2247d03132618d1fc5df3 100644 --- a/ghc/tests/deriving/should_compile/drv006.stderr +++ b/ghc/tests/deriving/should_compile/drv006.stderr @@ -0,0 +1 @@ +NOTE: Simplifier still going after 4 iterations; baling out. diff --git a/ghc/tests/deriving/should_compile/drv007.stderr b/ghc/tests/deriving/should_compile/drv007.stderr index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0af03cd0f96c4279a0d2247d03132618d1fc5df3 100644 --- a/ghc/tests/deriving/should_compile/drv007.stderr +++ b/ghc/tests/deriving/should_compile/drv007.stderr @@ -0,0 +1 @@ +NOTE: Simplifier still going after 4 iterations; baling out. diff --git a/ghc/tests/rename/should_compile/Int10.hi b/ghc/tests/rename/should_compile/Int10.hi index 09086e6a5957237225229b9945364c75804bcef7..335754f54c5aa580a2480d9e20e13eb8e67017bf 100644 --- a/ghc/tests/rename/should_compile/Int10.hi +++ b/ghc/tests/rename/should_compile/Int10.hi @@ -1,6 +1,6 @@ -_interface_ Int10 1 302 +_interface_ Int10 1 400 _exports_ -Int10 T1(C1) T2(T2C1 T2C2) T3(T3C1 T3C2 T3C3) T4(T4C1 T4C2 T4C3 T4C4) T5(T5C1 T5C2 T5C3 T5C4 T5C5) T6(T6C6) T7(T7C6 T7C7) ; +Int10 T1{C1} T2{T2C1 T2C2} T3{T3C1 T3C2 T3C3} T4{T4C1 T4C2 T4C3 T4C4} T5{T5C1 T5C2 T5C3 T5C4 T5C5} T6{T6C6} T7{T7C6 T7C7} ; _declarations_ 1 data T1 a = C1 a; 1 data T2 a b = T2C1 a | T2C2 b ; diff --git a/ghc/tests/rename/should_compile/Rn016.hi b/ghc/tests/rename/should_compile/Rn016.hi index 0cbcd0b248ab10c07a00be204a8bacfcdbfd07ac..fdf2ca04def0b431a5754ecbe93e6f3ce909a917 100644 --- a/ghc/tests/rename/should_compile/Rn016.hi +++ b/ghc/tests/rename/should_compile/Rn016.hi @@ -1,6 +1,6 @@ -_interface_ Rn016 1 302 +_interface_ Rn016 1 400 _exports_ -Rn016 K(op1 op2); +Rn016 K{op1 op2}; _instances_ instance {K PrelBase.Int} = $d1; instance {K PrelBase.Bool} = $d2; diff --git a/ghc/tests/rename/should_compile/Rn017.hi b/ghc/tests/rename/should_compile/Rn017.hi index c3a637c35cde10c61e03f7286cf6a909a49a9859..b61877491a149963810e1356fc467df0b7a719c9 100644 --- a/ghc/tests/rename/should_compile/Rn017.hi +++ b/ghc/tests/rename/should_compile/Rn017.hi @@ -1,6 +1,6 @@ -_interface_ Rn017 1 302 +_interface_ Rn017 1 400 _exports_ -Rn017 a b c Wibble(MkWibble) Wobble ; +Rn017 a b c Wibble{MkWibble} Wobble ; _declarations_ 1 data Wibble = MkWibble Wobble ; 1 data Wobble ; diff --git a/ghc/tests/rename/should_compile/rn017.stderr b/ghc/tests/rename/should_compile/rn017.stderr index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..6a7ad6952aa13410f1647e95e8906b02528d5c65 100644 --- a/ghc/tests/rename/should_compile/rn017.stderr +++ b/ghc/tests/rename/should_compile/rn017.stderr @@ -0,0 +1,20 @@ +ghc: module version changed to 1; reason: no old .hi file +_interface_ Test 1 400 +_instance_modules_ +IO PrelAddr PrelArr PrelBounded PrelCCall PrelForeign PrelIOBase PrelNum PrelNumExtra PrelTup +_usages_ +PrelBase 1 :: $dEq0 1 $dEq1 1 $dEqBool0 1 $dEqChar0 1 $dEqInt0 1 $dEqInteger0 1 $dNumInt0 1 $dShow0 1 $dShow1 1 $dShow2 1 $dShowBool0 1 $dShowChar0 1 $dShowInt0 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 addr2Integer 1 foldr 1 int2Integer 1 integer_0 1 integer_1 1 integer_2 1 integer_m1 1 Eq 1 Num 1 Show 1 String 1; +PrelNum 1 :: $dNumInteger0 1 $dShowInteger0 1; +PrelNumExtra 1 :: $dEqDouble0 1 $dNumDouble0 1 $dShowDouble0 1; +PrelPack 1 :: packCString# 1 unpackAppendCString# 1 unpackCString# 1 unpackFoldrCString# 1 unpackNBytes# 1; +Rn017 1 ::; +_exports_ +Rn017 a b c Wibble{MkWibble} Wobble; +Test f FOO{:FOO :FOO op} Foo{MkFoo}; +_instances_ +instance {FOO Foo} = $dFOOFoo0; +_declarations_ +1 $dFOOFoo0 _:_ {FOO Foo} ;; +1 class FOO $r3I where {op :: $r3I -> PrelBase.Int} ; +1 data Foo = MkFoo ; +1 f _:_ _forall_ [$a] => $a -> $a ;; diff --git a/ghc/tests/rename/should_fail/rnfail014.stderr b/ghc/tests/rename/should_fail/rnfail014.stderr index 457ba99e4d83ca4988f26b762f04f8a2e545dcf2..8e2bef9ef364816e66dcc68df1d48980ea98daf8 100644 --- a/ghc/tests/rename/should_fail/rnfail014.stderr +++ b/ghc/tests/rename/should_fail/rnfail014.stderr @@ -1,17 +1,33 @@ rnfail014.hs:12: - Context constrains type variable(s) `a' - that do not appear in `Int -> Int' - in the type signature for `f' + The constraint `Eq a' does not mention any of + the universally quantified type variables {} + of the type `Int -> Int' + In the type signature for `f' + +rnfail014.hs:12: + The constraint `Eq a' + mentions type variables that do not appear in the type + `Int -> Int' + In the type signature for `f' rnfail014.hs:17: - Context constrains in-scope type variable(s) `a' - in the type signature for `op' + The constraint `Eq a' does not mention any of + the universally quantified type variables {} + of the type `a -> a' + In the type signature for `op' + +rnfail014.hs:9: + The constraint `Eq a' does not mention any of + the universally quantified type variables {} + of the type `Eq Bool' + In the type signature for an instance decl rnfail014.hs:9: - Context constrains type variable(s) `a' - that do not appear in `Eq Bool' - in the type signature for an instance decl + The constraint `Eq a' + mentions type variables that do not appear in the type + `Eq Bool' + In the type signature for an instance decl Compilation had errors diff --git a/ghc/tests/stranal/should_compile/str001.stderr b/ghc/tests/stranal/should_compile/str001.stderr index 41128849ae189918a5fba7b415e4e32b7636dbc5..7fd86165590e05c52eddb596a261e34bf908273f 100644 --- a/ghc/tests/stranal/should_compile/str001.stderr +++ b/ghc/tests/stranal/should_compile/str001.stderr @@ -1,5 +1,3 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed area2 Point2(Point2); -_instances_ -instance _forall_ [a] => {PrelBase.Eval (Point2 a)} = $dEvalPoint20; +ShouldSucceed area2 Point2{Point2}; diff --git a/ghc/tests/typecheck/should_compile/Makefile b/ghc/tests/typecheck/should_compile/Makefile index 5a7d114a2a40840377e8abb0ed131a4f9dc2d3d3..40612f9db8936ed8fe6fdb57c1e3a2b803de7180 100644 --- a/ghc/tests/typecheck/should_compile/Makefile +++ b/ghc/tests/typecheck/should_compile/Makefile @@ -6,6 +6,7 @@ SRC_HC_OPTS += -noC -dcore-lint -fno-warn-incomplete-patterns -hi-with-declarati tc019_HC_OPTS = -fglasgow-exts tc065_HC_OPTS = -syslib misc +tc089_HC_OPTS = -H12m tc097_HC_OPTS = -fglasgow-exts # mkdependHS doesn't understand OPTIONS pragmas... diff --git a/ghc/tests/typecheck/should_compile/TheUtils.hi b/ghc/tests/typecheck/should_compile/TheUtils.hi index 207cce101dea3e8e0c33e97ebb63d61abc3ab01a..a0f21b12f325274a412cfb06ce98e90500ff8c1b 100644 --- a/ghc/tests/typecheck/should_compile/TheUtils.hi +++ b/ghc/tests/typecheck/should_compile/TheUtils.hi @@ -1,4 +1,4 @@ -_interface_ TheUtils 2 302 +_interface_ TheUtils 2 400 _instance_modules_ PrelArr IO PrelNum _usages_ diff --git a/ghc/tests/typecheck/should_compile/tc001.stderr b/ghc/tests/typecheck/should_compile/tc001.stderr index 2c8604234854c54b29e539f527e959b9c82bf664..16f2f54570e57080b07efef22b2405d729baadd6 100644 --- a/ghc/tests/typecheck/should_compile/tc001.stderr +++ b/ghc/tests/typecheck/should_compile/tc001.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed a; _declarations_ -1 a _:_ _forall_ [a] {PrelBase.Num a} => a -> a ;; +1 a _:_ _forall_ [$a] {PrelBase.Num $a} => $a -> $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc005.stderr b/ghc/tests/typecheck/should_compile/tc005.stderr index 40839ad86c6f5cf06d3d05845a9c5587d2500888..460d320c823b57d07c7d9dc87908b6b727b3cbc1 100644 --- a/ghc/tests/typecheck/should_compile/tc005.stderr +++ b/ghc/tests/typecheck/should_compile/tc005.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed g; _declarations_ -1 g _:_ _forall_ [a b] {PrelBase.Num a} => ([a], b) -> a ;; +1 g _:_ _forall_ [$a $b] {PrelBase.Num $b} => ([$b], $a) -> $b ;; diff --git a/ghc/tests/typecheck/should_compile/tc008.stderr b/ghc/tests/typecheck/should_compile/tc008.stderr index de21ecf2b18b1b283aa898ebdf00bf9c74120125..4f8abeb58d4a6e450b0a1f06a9b61c149e3e36c2 100644 --- a/ghc/tests/typecheck/should_compile/tc008.stderr +++ b/ghc/tests/typecheck/should_compile/tc008.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed n; _declarations_ -1 n _:_ _forall_ [a] {PrelBase.Num a} => PrelBase.Bool -> a ;; +1 n _:_ _forall_ [$a] {PrelBase.Num $a} => PrelBase.Bool -> $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc009.stderr b/ghc/tests/typecheck/should_compile/tc009.stderr index 798cdd0e7903acb03b81cfec9d7bc5b4e813614d..2cfaf7e550e4dd033989739af413c00029fa91f1 100644 --- a/ghc/tests/typecheck/should_compile/tc009.stderr +++ b/ghc/tests/typecheck/should_compile/tc009.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed o; _declarations_ -1 o _:_ _forall_ [a] {PrelBase.Num a} => (PrelBase.Bool, a) -> a ;; +1 o _:_ _forall_ [$a] {PrelBase.Num $a} => (PrelBase.Bool, $a) -> $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc011.stderr b/ghc/tests/typecheck/should_compile/tc011.stderr index 221865a2fb3f92b7e6611c13cb33ef9bdf4535f3..37537b1b20d3637a9ad74a8d5546f4c31647b6cb 100644 --- a/ghc/tests/typecheck/should_compile/tc011.stderr +++ b/ghc/tests/typecheck/should_compile/tc011.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed x; _declarations_ -1 x _:_ _forall_ [a] => a ;; +1 x _:_ _forall_ [$a] => $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc012.stderr b/ghc/tests/typecheck/should_compile/tc012.stderr index f7f32bc52f9f6c36be4826432cbe80be3d82a359..34a14d00653ff5cd6b1981e1655711487c608ef1 100644 --- a/ghc/tests/typecheck/should_compile/tc012.stderr +++ b/ghc/tests/typecheck/should_compile/tc012.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed q; _declarations_ -1 q _:_ _forall_ [a] => a -> a ;; +1 q _:_ _forall_ [$a] => $a -> $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc015.stderr b/ghc/tests/typecheck/should_compile/tc015.stderr index e63a8cf169744630c775b266f2f130dd4512b819..c010997fcc1a7388537a25524fae99e6f5642877 100644 --- a/ghc/tests/typecheck/should_compile/tc015.stderr +++ b/ghc/tests/typecheck/should_compile/tc015.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed u; _declarations_ -1 u _:_ _forall_ [a b c] => a -> (b, c) -> a ;; +1 u _:_ _forall_ [$a $b $c] => $a -> ($b, $c) -> $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc016.stderr b/ghc/tests/typecheck/should_compile/tc016.stderr index 4bebb9c94617106b35960b90c1b26eac6804ea33..ed5d48f0407b71f42df7f3b44ae7846e91b416c8 100644 --- a/ghc/tests/typecheck/should_compile/tc016.stderr +++ b/ghc/tests/typecheck/should_compile/tc016.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f; _declarations_ -1 f _:_ _forall_ [a b] => a -> b -> a ;; +1 f _:_ _forall_ [$a $b] => $b -> $a -> $b ;; diff --git a/ghc/tests/typecheck/should_compile/tc020.stderr b/ghc/tests/typecheck/should_compile/tc020.stderr index f461f84b90d5bf35820250204aa11582613332b8..a2ccf24e8a489ee9dc9923fd1e9906399fdb14b7 100644 --- a/ghc/tests/typecheck/should_compile/tc020.stderr +++ b/ghc/tests/typecheck/should_compile/tc020.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f; _declarations_ -1 f _:_ _forall_ [a] => a -> [a] ;; +1 f _:_ _forall_ [$a] => $a -> [$a] ;; diff --git a/ghc/tests/typecheck/should_compile/tc021.stderr b/ghc/tests/typecheck/should_compile/tc021.stderr index 92ddc200f3137b9737c29725bbef2ad03906f9da..004a98a669949ec6b548262ea10feb1a8a282330 100644 --- a/ghc/tests/typecheck/should_compile/tc021.stderr +++ b/ghc/tests/typecheck/should_compile/tc021.stderr @@ -2,6 +2,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed a f x; _declarations_ -1 a _:_ _forall_ [a b] => (a, b) ;; -1 f _:_ _forall_ [a b c] => a -> (b, c) ;; -1 x _:_ _forall_ [a] => a ;; +1 a _:_ _forall_ [$a $b] => ($a, $b) ;; +1 f _:_ _forall_ [$a $b $c] => $a -> ($b, $c) ;; +1 x _:_ _forall_ [$a] => $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc022.stderr b/ghc/tests/typecheck/should_compile/tc022.stderr index aebfbac24768cd73865d372a1a4de92dd9176a1a..45cd09e7b40ba35c36b5902bf6e29d5105da5488 100644 --- a/ghc/tests/typecheck/should_compile/tc022.stderr +++ b/ghc/tests/typecheck/should_compile/tc022.stderr @@ -2,5 +2,5 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed iD main; _declarations_ -1 iD _:_ _forall_ [a] => a -> a ;; -1 main _:_ _forall_ [a] => a -> a ;; +1 iD _:_ _forall_ [$a] => $a -> $a ;; +1 main _:_ _forall_ [$a] => $a -> $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc023.stderr b/ghc/tests/typecheck/should_compile/tc023.stderr index ee47e923e6fdae6c5809c04f8bdb6eaf8cd14f46..db99b117662ea9bfddb3d5e294acf76b4872bf06 100644 --- a/ghc/tests/typecheck/should_compile/tc023.stderr +++ b/ghc/tests/typecheck/should_compile/tc023.stderr @@ -2,6 +2,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed k main s; _declarations_ -1 k _:_ _forall_ [a b] => a -> b -> a ;; -1 main _:_ _forall_ [a] => a -> a ;; -1 s _:_ _forall_ [a b c] => (a -> c -> b) -> (a -> c) -> a -> b ;; +1 k _:_ _forall_ [$a $b] => $b -> $a -> $b ;; +1 main _:_ _forall_ [$a] => $a -> $a ;; +1 s _:_ _forall_ [$a $b $c] => ($c -> $b -> $a) -> ($c -> $b) -> $c -> $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc024.stderr b/ghc/tests/typecheck/should_compile/tc024.stderr index ee47e923e6fdae6c5809c04f8bdb6eaf8cd14f46..db99b117662ea9bfddb3d5e294acf76b4872bf06 100644 --- a/ghc/tests/typecheck/should_compile/tc024.stderr +++ b/ghc/tests/typecheck/should_compile/tc024.stderr @@ -2,6 +2,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed k main s; _declarations_ -1 k _:_ _forall_ [a b] => a -> b -> a ;; -1 main _:_ _forall_ [a] => a -> a ;; -1 s _:_ _forall_ [a b c] => (a -> c -> b) -> (a -> c) -> a -> b ;; +1 k _:_ _forall_ [$a $b] => $b -> $a -> $b ;; +1 main _:_ _forall_ [$a] => $a -> $a ;; +1 s _:_ _forall_ [$a $b $c] => ($c -> $b -> $a) -> ($c -> $b) -> $c -> $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc026.stderr b/ghc/tests/typecheck/should_compile/tc026.stderr index 70334631bab27aa799e3bede72aaa0759d7bc6f8..a8bc39519d08f9654302b369d3c66d5086eb1ef7 100644 --- a/ghc/tests/typecheck/should_compile/tc026.stderr +++ b/ghc/tests/typecheck/should_compile/tc026.stderr @@ -2,5 +2,5 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f g; _declarations_ -1 f _:_ _forall_ [a] => PrelBase.Bool -> a -> a ;; +1 f _:_ _forall_ [$a] => PrelBase.Bool -> $a -> $a ;; 1 g _:_ PrelBase.Bool -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc027.stderr b/ghc/tests/typecheck/should_compile/tc027.stderr index 0e2072ce8b0f74238dedc49a46cc1ce1d657c441..2061985cdc13610478a718557b7b9fbe02bc8dd2 100644 --- a/ghc/tests/typecheck/should_compile/tc027.stderr +++ b/ghc/tests/typecheck/should_compile/tc027.stderr @@ -1,9 +1,7 @@ - -NOTE: Simplifier still going after 4 iterations; bailing out. ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f g h; _declarations_ -1 f _:_ _forall_ [a] => PrelBase.Bool -> a -> a ;; -1 g _:_ _forall_ [a] => a -> PrelBase.Bool -> a ;; +1 f _:_ _forall_ [$a] => PrelBase.Bool -> $a -> $a ;; +1 g _:_ _forall_ [$a] => $a -> PrelBase.Bool -> $a ;; 1 h _:_ PrelBase.Bool -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc029.stderr b/ghc/tests/typecheck/should_compile/tc029.stderr index 4b707052e6b967ee6b98577b3dda194eef45e4f7..d16a48a9f485af6c892c2f15f8ca0e43419a2cf6 100644 --- a/ghc/tests/typecheck/should_compile/tc029.stderr +++ b/ghc/tests/typecheck/should_compile/tc029.stderr @@ -1,9 +1,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed G K(H M); -_instances_ -instance {PrelBase.Eval K} = $dEvalK0; +ShouldSucceed G K{H M}; _declarations_ -1 $dEvalK0 _:_ {PrelBase.Eval K} ;; 1 data K = H PrelBase.Bool | M G ; 1 type G = [PrelBase.Int] ; diff --git a/ghc/tests/typecheck/should_compile/tc031.stderr b/ghc/tests/typecheck/should_compile/tc031.stderr index 33aa884a6f60ab1f014659b9f02e872308ef344c..02aaf35de9f62b982f43c77f16b32e012c436ae7 100644 --- a/ghc/tests/typecheck/should_compile/tc031.stderr +++ b/ghc/tests/typecheck/should_compile/tc031.stderr @@ -1,8 +1,5 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed Rec(Node); -_instances_ -instance {PrelBase.Eval Rec} = $dEvalRec0; +ShouldSucceed Rec{Node}; _declarations_ -1 $dEvalRec0 _:_ {PrelBase.Eval Rec} ;; 1 data Rec = Node PrelBase.Int Rec ; diff --git a/ghc/tests/typecheck/should_compile/tc032.stderr b/ghc/tests/typecheck/should_compile/tc032.stderr index 77f034b126d40508807abf3cc9e428fc5453fb39..29aa472f25831544e13f5bd1e1e076e9273afbf2 100644 --- a/ghc/tests/typecheck/should_compile/tc032.stderr +++ b/ghc/tests/typecheck/should_compile/tc032.stderr @@ -1,8 +1,5 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed AList(Node Other); -_instances_ -instance _forall_ [a] => {PrelBase.Eval (AList a)} = $dEvalAList0; +ShouldSucceed AList{Node Other}; _declarations_ -1 $dEvalAList0 _:_ _forall_ [a] => {PrelBase.Eval (AList a)} ;; -1 data AList b = Node b [b] | Other (b, PrelBase.Char) ; +1 data AList $r3u = Node $r3u [$r3u] | Other ($r3u, PrelBase.Char) ; diff --git a/ghc/tests/typecheck/should_compile/tc033.stderr b/ghc/tests/typecheck/should_compile/tc033.stderr index 59e7b1b7a2d63eed01a6034bfa962d67741021af..6391216367d2fd34342d727bbb741092357f0e55 100644 --- a/ghc/tests/typecheck/should_compile/tc033.stderr +++ b/ghc/tests/typecheck/should_compile/tc033.stderr @@ -1,12 +1,7 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed F Twine(Twine2) Twist(Twist2); -_instances_ -instance {PrelBase.Eval Twine} = $dEvalTwine0; -instance {PrelBase.Eval Twist} = $dEvalTwist0; +ShouldSucceed F Twine{Twine2} Twist{Twist2}; _declarations_ -1 $dEvalTwine0 _:_ {PrelBase.Eval Twine} ;; -1 $dEvalTwist0 _:_ {PrelBase.Eval Twist} ;; 1 data Twine = Twine2 Twist ; 1 data Twist = Twist2 Twine ; 1 type F = Twine ; diff --git a/ghc/tests/typecheck/should_compile/tc034.stderr b/ghc/tests/typecheck/should_compile/tc034.stderr index 17c9de22711154a27d2f177b282aa57deb5f5670..faa34048ea334c12a5482e6bb35f2d7e24e3cfb9 100644 --- a/ghc/tests/typecheck/should_compile/tc034.stderr +++ b/ghc/tests/typecheck/should_compile/tc034.stderr @@ -1,10 +1,7 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed g AList(ANull ANode) IntList; -_instances_ -instance _forall_ [a] => {PrelBase.Eval (AList a)} = $dEvalAList0; +ShouldSucceed g AList{ANull ANode} IntList; _declarations_ -1 $dEvalAList0 _:_ _forall_ [a] => {PrelBase.Eval (AList a)} ;; -1 data AList a = ANull | ANode a (AList a) ; -1 g _:_ _forall_ [a] {PrelBase.Num a} => AList PrelBase.Bool -> a ;; +1 data AList $r3C = ANull | ANode $r3C (AList $r3C) ; +1 g _:_ _forall_ [$a] {PrelBase.Num $a} => AList PrelBase.Bool -> $a ;; 1 type IntList = AList PrelBase.Int ; diff --git a/ghc/tests/typecheck/should_compile/tc035.stderr b/ghc/tests/typecheck/should_compile/tc035.stderr index 3e8b793ff3ceff1683c9a1e9a10fce2176a03117..c3ed0420bc11b8891ae50c6331ffb88e50f90a26 100644 --- a/ghc/tests/typecheck/should_compile/tc035.stderr +++ b/ghc/tests/typecheck/should_compile/tc035.stderr @@ -1,10 +1,7 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed g AnnExpr Expr(Var App); -_instances_ -instance _forall_ [a] => {PrelBase.Eval (Expr a)} = $dEvalExpr0; +ShouldSucceed g AnnExpr Expr{Var App}; _declarations_ -1 $dEvalExpr0 _:_ _forall_ [a] => {PrelBase.Eval (Expr a)} ;; -1 data Expr a = Var [PrelBase.Char] | App (AnnExpr a) (AnnExpr a) ; -1 g _:_ _forall_ [a] => (a, Expr a) -> [[PrelBase.Char]] ;; -1 type AnnExpr a = (a, Expr a) ; +1 data Expr $r3E = Var [PrelBase.Char] | App (AnnExpr $r3E) (AnnExpr $r3E) ; +1 g _:_ _forall_ [$a] => ($a, Expr $a) -> [[PrelBase.Char]] ;; +1 type AnnExpr $r3I = ($r3I, Expr $r3I) ; diff --git a/ghc/tests/typecheck/should_compile/tc036.stderr b/ghc/tests/typecheck/should_compile/tc036.stderr index 257bfbd0577e5a9b8e2a21e1df004feb10b60af7..633196f8e0518c0f1e5f9f769081a9689350d75e 100644 --- a/ghc/tests/typecheck/should_compile/tc036.stderr +++ b/ghc/tests/typecheck/should_compile/tc036.stderr @@ -1,5 +1,5 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed A(:A :A op1); +ShouldSucceed A{:A :A op1}; _declarations_ -1 class {PrelBase.Eq a} => A a where {op1 :: a -> a} ; +1 class {PrelBase.Eq $r3t} => A $r3t where {op1 :: $r3t -> $r3t} ; diff --git a/ghc/tests/typecheck/should_compile/tc037.stderr b/ghc/tests/typecheck/should_compile/tc037.stderr index f74fa02baee12b2686996f2bb8b01e81a25ee600..f9130c8691b541ac3d16357c7d41c3148f758078 100644 --- a/ghc/tests/typecheck/should_compile/tc037.stderr +++ b/ghc/tests/typecheck/should_compile/tc037.stderr @@ -1,8 +1,8 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed Eq'(:Eq' :Eq' deq); +ShouldSucceed Eq'{:Eq' :Eq' deq}; _instances_ -instance _forall_ [a] {Eq' a} => {Eq' [a]} = $dEq'0; +instance _forall_ [$a] {Eq' $a} => {Eq' [$a]} = $dEq'0; _declarations_ -1 $dEq'0 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;; -1 class Eq' a where {deq :: a -> a -> PrelBase.Bool} ; +1 $dEq'0 _:_ _forall_ [$a] {Eq' $a} => {Eq' [$a]} ;; +1 class Eq' $r3G where {deq :: $r3G -> $r3G -> PrelBase.Bool} ; diff --git a/ghc/tests/typecheck/should_compile/tc038.stderr b/ghc/tests/typecheck/should_compile/tc038.stderr index 9f9f69f0044cd462fcadd9c1b6cff1f338c3b1e8..86ef92b08148714440998e0bff5f742269f7c930 100644 --- a/ghc/tests/typecheck/should_compile/tc038.stderr +++ b/ghc/tests/typecheck/should_compile/tc038.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f; _declarations_ -1 f _:_ _forall_ [a] {PrelBase.Num a} => [a] -> [a] ;; +1 f _:_ _forall_ [$a] {PrelBase.Num $a, PrelBase.Eq $a} => [$a] -> [$a] ;; diff --git a/ghc/tests/typecheck/should_compile/tc039.stderr b/ghc/tests/typecheck/should_compile/tc039.stderr index 257bfbd0577e5a9b8e2a21e1df004feb10b60af7..633196f8e0518c0f1e5f9f769081a9689350d75e 100644 --- a/ghc/tests/typecheck/should_compile/tc039.stderr +++ b/ghc/tests/typecheck/should_compile/tc039.stderr @@ -1,5 +1,5 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed A(:A :A op1); +ShouldSucceed A{:A :A op1}; _declarations_ -1 class {PrelBase.Eq a} => A a where {op1 :: a -> a} ; +1 class {PrelBase.Eq $r3t} => A $r3t where {op1 :: $r3t -> $r3t} ; diff --git a/ghc/tests/typecheck/should_compile/tc040.stderr b/ghc/tests/typecheck/should_compile/tc040.stderr index f152e887a448ff6e29ba7a28ea6331b4d9c473ab..c5b8a06f9154f28d7200a4e8da45e4e69baa3376 100644 --- a/ghc/tests/typecheck/should_compile/tc040.stderr +++ b/ghc/tests/typecheck/should_compile/tc040.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f; _declarations_ -1 f _:_ _forall_ [a] {PrelBase.Eq a} => a -> [a] ;; +1 f _:_ _forall_ [$a] {PrelBase.Eq $a} => $a -> [$a] ;; diff --git a/ghc/tests/typecheck/should_compile/tc041.stderr b/ghc/tests/typecheck/should_compile/tc041.stderr index 5dbc6f6d4b76b8c2276a146d75c5e0277a8b2797..5f0b57b00661b2dd3c275b14254b850fb846829d 100644 --- a/ghc/tests/typecheck/should_compile/tc041.stderr +++ b/ghc/tests/typecheck/should_compile/tc041.stderr @@ -1,9 +1,9 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f H(:H :H op1); +ShouldSucceed f H{:H :H op1}; _instances_ instance {H PrelBase.Bool} = $dHBool0; _declarations_ 1 $dHBool0 _:_ {H PrelBase.Bool} ;; -1 class H a where {op1 :: a -> a -> a} ; +1 class H $r3F where {op1 :: $r3F -> $r3F -> $r3F} ; 1 f _:_ PrelBase.Bool -> PrelBase.Int -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc042.stderr b/ghc/tests/typecheck/should_compile/tc042.stderr index 16b34840f668bc2bd2bc847be7d01968bc23169c..b27ae358c19c8b32ced42a8f7de553f533e45244 100644 --- a/ghc/tests/typecheck/should_compile/tc042.stderr +++ b/ghc/tests/typecheck/should_compile/tc042.stderr @@ -1,32 +1,21 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed add app before flatten idb idl lEngth nUll neg rEverse sUm swap Boolean(FF TT) List(Nil Cons) Nat(Zero Succ) Pair(Mkpair) Tree(Leaf Node); -_instances_ -instance {PrelBase.Eval Boolean} = $dEvalBoolean0; -instance _forall_ [a] => {PrelBase.Eval (List a)} = $dEvalList0; -instance {PrelBase.Eval Nat} = $dEvalNat0; -instance _forall_ [a b] => {PrelBase.Eval (Pair a b)} = $dEvalPair0; -instance _forall_ [a] => {PrelBase.Eval (Tree a)} = $dEvalTree0; +ShouldSucceed add app before flatten idb idl lEngth nUll neg rEverse sUm swap Boolean{FF TT} List{Nil Cons} Nat{Zero Succ} Pair{Mkpair} Tree{Leaf Node}; _declarations_ -1 $dEvalBoolean0 _:_ {PrelBase.Eval Boolean} ;; -1 $dEvalList0 _:_ _forall_ [a] => {PrelBase.Eval (List a)} ;; -1 $dEvalNat0 _:_ {PrelBase.Eval Nat} ;; -1 $dEvalPair0 _:_ _forall_ [a b] => {PrelBase.Eval (Pair a b)} ;; -1 $dEvalTree0 _:_ _forall_ [a] => {PrelBase.Eval (Tree a)} ;; 1 add _:_ Nat -> Nat -> Nat ;; -1 app _:_ _forall_ [a] => List a -> List a -> List a ;; +1 app _:_ _forall_ [$a] => List $a -> List $a -> List $a ;; 1 before _:_ List Nat -> List Nat ;; 1 data Boolean = FF | TT ; -1 data List alpha = Nil | Cons alpha (List alpha) ; +1 data List $r5K = Nil | Cons $r5K (List $r5K) ; 1 data Nat = Zero | Succ Nat ; -1 data Pair a b = Mkpair a b ; -1 data Tree t = Leaf t | Node (Tree t) (Tree t) ; -1 flatten _:_ _forall_ [a] => Tree a -> List a ;; +1 data Pair $r5O $r5P = Mkpair $r5O $r5P ; +1 data Tree $r5D = Leaf $r5D | Node (Tree $r5D) (Tree $r5D) ; +1 flatten _:_ _forall_ [$a] => Tree $a -> List $a ;; 1 idb _:_ Boolean -> Boolean ;; -1 idl _:_ _forall_ [a] => List a -> List a ;; -1 lEngth _:_ _forall_ [a] => List a -> Nat ;; -1 nUll _:_ _forall_ [a] => List a -> Boolean ;; +1 idl _:_ _forall_ [$a] => List $a -> List $a ;; +1 lEngth _:_ _forall_ [$a] => List $a -> Nat ;; +1 nUll _:_ _forall_ [$a] => List $a -> Boolean ;; 1 neg _:_ Boolean -> Boolean ;; -1 rEverse _:_ _forall_ [a] => List a -> List a ;; +1 rEverse _:_ _forall_ [$a] => List $a -> List $a ;; 1 sUm _:_ Tree Nat -> Nat ;; -1 swap _:_ _forall_ [a b] => Pair a b -> Pair b a ;; +1 swap _:_ _forall_ [$a $b] => Pair $a $b -> Pair $b $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc043.stderr b/ghc/tests/typecheck/should_compile/tc043.stderr index afcc264ed8f37fbfeae63aa5bc9a178f62a5b996..f85d585b9f863ede2fd6e8b8bb774d530762388a 100644 --- a/ghc/tests/typecheck/should_compile/tc043.stderr +++ b/ghc/tests/typecheck/should_compile/tc043.stderr @@ -1,12 +1,12 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f A(:A :A op1) B(:B :B op2); +ShouldSucceed f A{:A :A op1} B{:B :B op2}; _instances_ instance {A PrelBase.Int} = $dAInt0; -instance _forall_ [a] {B a} => {B [a]} = $dB0; +instance _forall_ [$a] {B $a} => {B [$a]} = $dB0; _declarations_ 1 $dAInt0 _:_ {A PrelBase.Int} ;; -1 $dB0 _:_ _forall_ [a] {B a} => {B [a]} ;; -1 class A a where {op1 :: a} ; -1 class B b where {op2 :: b -> PrelBase.Int} ; -1 f _:_ _forall_ [a b] {A b} => a -> b ;; +1 $dB0 _:_ _forall_ [$a] {B $a} => {B [$a]} ;; +1 class A $r3P where {op1 :: $r3P} ; +1 class B $r3K where {op2 :: $r3K -> PrelBase.Int} ; +1 f _:_ _forall_ [$a $b] {A $b} => $a -> $b ;; diff --git a/ghc/tests/typecheck/should_compile/tc044.stderr b/ghc/tests/typecheck/should_compile/tc044.stderr index 8999dbf5e57aaf62cfc1c141eedcef181a5e3725..0c66ee750dcbc7ac2370bdb0ccb9cf55c2a3c816 100644 --- a/ghc/tests/typecheck/should_compile/tc044.stderr +++ b/ghc/tests/typecheck/should_compile/tc044.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f; _declarations_ -1 f _:_ _forall_ [a] => a -> PrelBase.() ;; +1 f _:_ _forall_ [$a] => $a -> PrelBase.() ;; diff --git a/ghc/tests/typecheck/should_compile/tc045.stderr b/ghc/tests/typecheck/should_compile/tc045.stderr index 6dfe21e0909de7b2aa2dcffab89891ecad57599e..e24e4f69034689da87a2c7df9ec32783987967ce 100644 --- a/ghc/tests/typecheck/should_compile/tc045.stderr +++ b/ghc/tests/typecheck/should_compile/tc045.stderr @@ -1,11 +1,11 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed B(:B :B op2) C(:C :C op1); +ShouldSucceed B{:B :B op2} C{:C :C op1}; _instances_ -instance _forall_ [a] {B a} => {B [a]} = $dB0; -instance _forall_ [a] => {C [a]} = $dC0; +instance _forall_ [$a] {B $a} => {B [$a]} = $dB0; +instance _forall_ [$a] => {C [$a]} = $dC0; _declarations_ -1 $dB0 _:_ _forall_ [a] {B a, C [a]} => {B [a]} ;; -1 $dC0 _:_ _forall_ [a] => {C [a]} ;; -1 class {C a} => B a where {op2 :: a -> a -> a} ; -1 class C a where {op1 :: a -> a} ; +1 $dB0 _:_ _forall_ [$a] {B $a, C [$a]} => {B [$a]} ;; +1 $dC0 _:_ _forall_ [$a] => {C [$a]} ;; +1 class {C $r3I} => B $r3I where {op2 :: $r3I -> $r3I -> $r3I} ; +1 class C $r3L where {op1 :: $r3L -> $r3L} ; diff --git a/ghc/tests/typecheck/should_compile/tc046.stderr b/ghc/tests/typecheck/should_compile/tc046.stderr index ae045aa98675520b159f3294c75c0dbc75805e54..63621c0c6fbb58f3ab109d56bd4c4096568786f8 100644 --- a/ghc/tests/typecheck/should_compile/tc046.stderr +++ b/ghc/tests/typecheck/should_compile/tc046.stderr @@ -1,6 +1,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed B(:B :B op2) C(:C :C op1); +ShouldSucceed B{:B :B op2} C{:C :C op1}; _declarations_ -1 class {C a} => B a where {op2 :: a -> a -> a} ; -1 class C a where {op1 :: a -> a} ; +1 class {C $r3x} => B $r3x where {op2 :: $r3x -> $r3x -> $r3x} ; +1 class C $r3A where {op1 :: $r3A -> $r3A} ; diff --git a/ghc/tests/typecheck/should_compile/tc047.stderr b/ghc/tests/typecheck/should_compile/tc047.stderr index 4fa71f47439b49aa490cc7a8ad11285fb5de8b81..512ff5c0e57d0d20f16e79135cbd4e2fca266df1 100644 --- a/ghc/tests/typecheck/should_compile/tc047.stderr +++ b/ghc/tests/typecheck/should_compile/tc047.stderr @@ -2,7 +2,7 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f mp sd OL; _declarations_ -1 f _:_ _forall_ [a b c] => a -> [(b, c)] -> [c] ;; -1 mp _:_ _forall_ [a b] => (a -> b) -> [a] -> [b] ;; -1 sd _:_ _forall_ [a b] => (a, b) -> b ;; -1 type OL a = [a] ; +1 f _:_ _forall_ [$a $b $c] => $a -> [($b, $c)] -> [$c] ;; +1 mp _:_ _forall_ [$a $b] => ($a -> $b) -> [$a] -> [$b] ;; +1 sd _:_ _forall_ [$a $b] => ($a, $b) -> $b ;; +1 type OL $r3K = [$r3K] ; diff --git a/ghc/tests/typecheck/should_compile/tc048.stderr b/ghc/tests/typecheck/should_compile/tc048.stderr index 400bbf56a5e0e597658c458039b1389e33c27e05..173db16e76de8bf30ef26857b778dae0d563c52b 100644 --- a/ghc/tests/typecheck/should_compile/tc048.stderr +++ b/ghc/tests/typecheck/should_compile/tc048.stderr @@ -1,18 +1,11 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed mAp ranAFE ranOAL sNd AFE(MkAFE) FG(MkFG) OL(MkOL); -_instances_ -instance _forall_ [a b c] => {PrelBase.Eval (AFE a b c)} = $dEvalAFE0; -instance _forall_ [a b] => {PrelBase.Eval (FG a b)} = $dEvalFG0; -instance _forall_ [a] => {PrelBase.Eval (OL a)} = $dEvalOL0; +ShouldSucceed mAp ranAFE ranOAL sNd AFE{MkAFE} FG{MkFG} OL{MkOL}; _declarations_ -1 $dEvalAFE0 _:_ _forall_ [a b c] => {PrelBase.Eval (AFE a b c)} ;; -1 $dEvalFG0 _:_ _forall_ [a b] => {PrelBase.Eval (FG a b)} ;; -1 $dEvalOL0 _:_ _forall_ [a] => {PrelBase.Eval (OL a)} ;; -1 data AFE n a b = MkAFE (OL (n, FG a b)) ; -1 data FG a b = MkFG (OL (a, b)) ; -1 data OL a = MkOL [a] ; -1 mAp _:_ _forall_ [a b] => (a -> b) -> [a] -> [b] ;; -1 ranAFE _:_ _forall_ [a b c] => AFE a b c -> [FG b c] ;; -1 ranOAL _:_ _forall_ [a b] => OL (a, b) -> [b] ;; -1 sNd _:_ _forall_ [a b] => (a, b) -> b ;; +1 data AFE $r3X $r3Y $r3Z = MkAFE (OL ($r3X, FG $r3Y $r3Z)) ; +1 data FG $r42 $r43 = MkFG (OL ($r42, $r43)) ; +1 data OL $r46 = MkOL [$r46] ; +1 mAp _:_ _forall_ [$a $b] => ($a -> $b) -> [$a] -> [$b] ;; +1 ranAFE _:_ _forall_ [$a $b $c] => AFE $a $b $c -> [FG $b $c] ;; +1 ranOAL _:_ _forall_ [$a $b] => OL ($a, $b) -> [$b] ;; +1 sNd _:_ _forall_ [$a $b] => ($a, $b) -> $b ;; diff --git a/ghc/tests/typecheck/should_compile/tc049.stderr b/ghc/tests/typecheck/should_compile/tc049.stderr index 5e77c6db5c13fe5228a58b9708f8f81504d1afe9..eb84e61856560c740489118cdd58ab4e2e9814c4 100644 --- a/ghc/tests/typecheck/should_compile/tc049.stderr +++ b/ghc/tests/typecheck/should_compile/tc049.stderr @@ -2,14 +2,14 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed fib main1 main2 main3 mem mem1 mem2 mem3 mem4 oR oR1; _declarations_ -1 fib _:_ _forall_ [a] {PrelBase.Ord a, PrelBase.Num a} => a -> a ;; +1 fib _:_ _forall_ [$a] {PrelBase.Num $a, PrelBase.Ord $a} => $a -> $a ;; 1 main1 _:_ PrelBase.Bool ;; 1 main2 _:_ PrelBase.Bool ;; 1 main3 _:_ PrelBase.Bool ;; -1 mem _:_ _forall_ [a] {PrelBase.Eq a} => a -> [a] -> PrelBase.Bool ;; -1 mem1 _:_ _forall_ [a] {PrelBase.Eq a} => a -> [a] -> PrelBase.Bool ;; -1 mem2 _:_ _forall_ [a] {PrelBase.Eq a} => a -> [a] -> PrelBase.Bool ;; -1 mem3 _:_ _forall_ [a] {PrelBase.Eq [a]} => a -> [a] -> PrelBase.Bool ;; -1 mem4 _:_ _forall_ [a] {PrelBase.Eq [a]} => a -> [a] -> PrelBase.Bool ;; +1 mem _:_ _forall_ [$a] {PrelBase.Eq $a} => $a -> [$a] -> PrelBase.Bool ;; +1 mem1 _:_ _forall_ [$a] {PrelBase.Eq $a} => $a -> [$a] -> PrelBase.Bool ;; +1 mem2 _:_ _forall_ [$a] {PrelBase.Eq $a} => $a -> [$a] -> PrelBase.Bool ;; +1 mem3 _:_ _forall_ [$a] {PrelBase.Eq [$a]} => $a -> [$a] -> PrelBase.Bool ;; +1 mem4 _:_ _forall_ [$a] {PrelBase.Eq [$a]} => $a -> [$a] -> PrelBase.Bool ;; 1 oR _:_ PrelBase.Bool -> PrelBase.Bool -> PrelBase.Bool ;; 1 oR1 _:_ PrelBase.Bool -> PrelBase.Bool -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc050.stderr b/ghc/tests/typecheck/should_compile/tc050.stderr index 6958c61a9e936ca958893fa2fb3c94fc14296a4d..babed2ca12baee46f55ea51facb7f8293da47de4 100644 --- a/ghc/tests/typecheck/should_compile/tc050.stderr +++ b/ghc/tests/typecheck/should_compile/tc050.stderr @@ -1,12 +1,12 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f g Foo(:Foo :Foo o_and); +ShouldSucceed f g Foo{:Foo :Foo o_and}; _instances_ instance {Foo PrelBase.Bool} = $dFooBool0; instance {Foo PrelBase.Int} = $dFooInt0; _declarations_ 1 $dFooBool0 _:_ {Foo PrelBase.Bool} ;; 1 $dFooInt0 _:_ {Foo PrelBase.Int} ;; -1 class Foo a where {o_and :: a -> a -> a} ; -1 f _:_ _forall_ [a] => PrelBase.Bool -> a -> PrelBase.Bool ;; -1 g _:_ _forall_ [a b] {Foo b, PrelBase.Num b} => b -> a -> b ;; +1 class Foo $r3Q where {o_and :: $r3Q -> $r3Q -> $r3Q} ; +1 f _:_ _forall_ [$a] => PrelBase.Bool -> $a -> PrelBase.Bool ;; +1 g _:_ _forall_ [$a $b] {PrelBase.Num $b, Foo $b} => $b -> $a -> $b ;; diff --git a/ghc/tests/typecheck/should_compile/tc051.stderr b/ghc/tests/typecheck/should_compile/tc051.stderr index eb4745fbda5c698b69c58360df982d7381c3dc83..711eb2043977805263e44c3ba4b7d00dd3bb0b5a 100644 --- a/ghc/tests/typecheck/should_compile/tc051.stderr +++ b/ghc/tests/typecheck/should_compile/tc051.stderr @@ -1,13 +1,13 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed Eq'(:Eq' :Eq' doubleeq) Ord'(:Ord' :Ord' lt); +ShouldSucceed Eq'{:Eq' :Eq' doubleeq} Ord'{:Ord' :Ord' lt}; _instances_ -instance _forall_ [a] {Eq' a} => {Eq' [a]} = $dEq'0; +instance _forall_ [$a] {Eq' $a} => {Eq' [$a]} = $dEq'0; instance {Eq' PrelBase.Int} = $dEq'Int0; instance {Ord' PrelBase.Int} = $dOrd'Int0; _declarations_ -1 $dEq'0 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;; +1 $dEq'0 _:_ _forall_ [$a] {Eq' $a} => {Eq' [$a]} ;; 1 $dEq'Int0 _:_ {Eq' PrelBase.Int} ;; 1 $dOrd'Int0 _:_ {Ord' PrelBase.Int} ;; -1 class Eq' a where {doubleeq :: a -> a -> PrelBase.Bool} ; -1 class {Eq' a} => Ord' a where {lt :: a -> a -> PrelBase.Bool} ; +1 class Eq' $r3Q where {doubleeq :: $r3Q -> $r3Q -> PrelBase.Bool} ; +1 class {Eq' $r3N} => Ord' $r3N where {lt :: $r3N -> $r3N -> PrelBase.Bool} ; diff --git a/ghc/tests/typecheck/should_compile/tc052.stderr b/ghc/tests/typecheck/should_compile/tc052.stderr index 69084badeece76032e125819705a94175351913b..baee0183ce3afb114bffa068aed59628d957e585 100644 --- a/ghc/tests/typecheck/should_compile/tc052.stderr +++ b/ghc/tests/typecheck/should_compile/tc052.stderr @@ -2,6 +2,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed A B C; _declarations_ -1 type A a = B a ; -1 type B c = C ; +1 type A $r3v = B $r3v ; +1 type B $r3t = C ; 1 type C = PrelBase.Int ; diff --git a/ghc/tests/typecheck/should_compile/tc053.stderr b/ghc/tests/typecheck/should_compile/tc053.stderr index 4ca8186e3dd2efd8952a27165ff6d8d40a83592a..72d70c03d3aef7e4d19de04d8940d1e140db9f15 100644 --- a/ghc/tests/typecheck/should_compile/tc053.stderr +++ b/ghc/tests/typecheck/should_compile/tc053.stderr @@ -1,11 +1,11 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f Eq'(:Eq' :Eq' deq); +ShouldSucceed f Eq'{:Eq' :Eq' deq}; _instances_ -instance _forall_ [a] {Eq' a} => {Eq' [a]} = $dEq'0; +instance _forall_ [$a] {Eq' $a} => {Eq' [$a]} = $dEq'0; instance {Eq' PrelBase.Int} = $dEq'Int0; _declarations_ -1 $dEq'0 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;; +1 $dEq'0 _:_ _forall_ [$a] {Eq' $a} => {Eq' [$a]} ;; 1 $dEq'Int0 _:_ {Eq' PrelBase.Int} ;; -1 class Eq' a where {deq :: a -> a -> PrelBase.Bool} ; -1 f _:_ _forall_ [a] {Eq' [a], PrelBase.Num a} => [a] -> PrelBase.Bool ;; +1 class Eq' $r3K where {deq :: $r3K -> $r3K -> PrelBase.Bool} ; +1 f _:_ _forall_ [$a] {PrelBase.Num $a, Eq' [$a]} => [$a] -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc054.stderr b/ghc/tests/typecheck/should_compile/tc054.stderr index 7139413685c83ab6e80d3aa793e12c75f486c3ff..334bd7f55f0536a4cdfdfb58a80b3a459c18d229 100644 --- a/ghc/tests/typecheck/should_compile/tc054.stderr +++ b/ghc/tests/typecheck/should_compile/tc054.stderr @@ -1,12 +1,12 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f Eq'(:Eq' :Eq' doubleeq) Ord'(:Ord' :Ord' lt); +ShouldSucceed f Eq'{:Eq' :Eq' doubleeq} Ord'{:Ord' :Ord' lt}; _instances_ instance {Eq' PrelBase.Int} = $dEq'Int0; instance {Ord' PrelBase.Int} = $dOrd'Int0; _declarations_ 1 $dEq'Int0 _:_ {Eq' PrelBase.Int} ;; 1 $dOrd'Int0 _:_ {Ord' PrelBase.Int} ;; -1 class Eq' a where {doubleeq :: a -> a -> PrelBase.Bool} ; -1 class {Eq' a} => Ord' a where {lt :: a -> a -> PrelBase.Bool} ; -1 f _:_ _forall_ [a b] {Ord' b, PrelBase.Num b} => b -> a -> PrelBase.Bool ;; +1 class Eq' $r3P where {doubleeq :: $r3P -> $r3P -> PrelBase.Bool} ; +1 class {Eq' $r3M} => Ord' $r3M where {lt :: $r3M -> $r3M -> PrelBase.Bool} ; +1 f _:_ _forall_ [$a $b] {PrelBase.Num $b, Ord' $b} => $b -> $a -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc055.stderr b/ghc/tests/typecheck/should_compile/tc055.stderr index 2dfd583cdee7e7c4b0dad014b15469dbddc18b47..945f274f122c0e96d31f529c1fba7a84b61770a8 100644 --- a/ghc/tests/typecheck/should_compile/tc055.stderr +++ b/ghc/tests/typecheck/should_compile/tc055.stderr @@ -1,8 +1,6 @@ - -NOTE: Simplifier still going after 4 iterations; bailing out. ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed x y; _declarations_ -1 x _:_ _forall_ [a b] => a -> a ;; -1 y _:_ _forall_ [a b] => b -> b ;; +1 x _:_ _forall_ [$a $b] => $a -> $a ;; +1 y _:_ _forall_ [$a $b] => $b -> $b ;; diff --git a/ghc/tests/typecheck/should_compile/tc056.stderr b/ghc/tests/typecheck/should_compile/tc056.stderr index ca654bb1ec4af0931ee7257a9552bc43493b7526..f9b1457b7db4b66d0afe1addbe5f3cf46c4fe9a1 100644 --- a/ghc/tests/typecheck/should_compile/tc056.stderr +++ b/ghc/tests/typecheck/should_compile/tc056.stderr @@ -1,16 +1,16 @@ tc056.hs:15: Warning: - Duplicated class assertion `Eq' a' in the context: (Eq' a, Eq' a) + Duplicate class assertion `Eq' a' in the context: (Eq' a, Eq' a) => ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f Eq'(:Eq' :Eq' doubleeq) Ord'(:Ord' :Ord' lt); +ShouldSucceed f Eq'{:Eq' :Eq' doubleeq} Ord'{:Ord' :Ord' lt}; _instances_ -instance _forall_ [a] {Eq' a, Eq' a} => {Eq' [a]} = $dEq'0; +instance _forall_ [$a] {Eq' $a, Eq' $a} => {Eq' [$a]} = $dEq'0; instance {Eq' PrelBase.Int} = $dEq'Int0; _declarations_ -1 $dEq'0 _:_ _forall_ [a] {Eq' a, Eq' a} => {Eq' [a]} ;; +1 $dEq'0 _:_ _forall_ [$a] {Eq' $a} => {Eq' [$a]} ;; 1 $dEq'Int0 _:_ {Eq' PrelBase.Int} ;; -1 class Eq' a where {doubleeq :: a -> a -> PrelBase.Bool} ; -1 class {Eq' a} => Ord' a where {lt :: a -> a -> PrelBase.Bool} ; -1 f _:_ _forall_ [a b] {Eq' [b], PrelBase.Num b} => [b] -> a -> PrelBase.Bool ;; +1 class Eq' $r3R where {doubleeq :: $r3R -> $r3R -> PrelBase.Bool} ; +1 class {Eq' $r3O} => Ord' $r3O where {lt :: $r3O -> $r3O -> PrelBase.Bool} ; +1 f _:_ _forall_ [$a $b] {PrelBase.Num $b, Eq' [$b]} => [$b] -> $a -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc057.stderr b/ghc/tests/typecheck/should_compile/tc057.stderr index 1afaa80401805bc92c1afe1993a38f9fc8a580fc..5a233330bc8671f10defdf6b8e7d072760b55d24 100644 --- a/ghc/tests/typecheck/should_compile/tc057.stderr +++ b/ghc/tests/typecheck/should_compile/tc057.stderr @@ -1,12 +1,12 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed dand f Eq'(:Eq' :Eq' deq); +ShouldSucceed dand f Eq'{:Eq' :Eq' deq}; _instances_ -instance _forall_ [a] {Eq' a} => {Eq' [a]} = $dEq'0; +instance _forall_ [$a] {Eq' $a} => {Eq' [$a]} = $dEq'0; instance {Eq' PrelBase.Int} = $dEq'Int0; _declarations_ -1 $dEq'0 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;; +1 $dEq'0 _:_ _forall_ [$a] {Eq' $a} => {Eq' [$a]} ;; 1 $dEq'Int0 _:_ {Eq' PrelBase.Int} ;; -1 class Eq' a where {deq :: a -> a -> PrelBase.Bool} ; +1 class Eq' $r3W where {deq :: $r3W -> $r3W -> PrelBase.Bool} ; 1 dand _:_ PrelBase.Bool -> PrelBase.Bool -> PrelBase.Bool ;; -1 f _:_ _forall_ [a] {Eq' a} => a -> a -> PrelBase.Bool ;; +1 f _:_ _forall_ [$a] {Eq' $a} => $a -> $a -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc058.stderr b/ghc/tests/typecheck/should_compile/tc058.stderr index 2b8ad2783dbd2a0b8817ce83b0670c76a6a21286..a4b2af23408e0bfd39c3b85c33cdccaeff6a3428 100644 --- a/ghc/tests/typecheck/should_compile/tc058.stderr +++ b/ghc/tests/typecheck/should_compile/tc058.stderr @@ -1,14 +1,14 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f Eq2(:Eq2 :Eq2 doubleeq) Ord2(:Ord2 :Ord2 lt); +ShouldSucceed f Eq2{:Eq2 :Eq2 doubleeq} Ord2{:Ord2 :Ord2 lt}; _instances_ -instance _forall_ [a] {Eq2 a, Ord2 a} => {Eq2 [a]} = $dEq20; +instance _forall_ [$a] {Eq2 $a, Ord2 $a} => {Eq2 [$a]} = $dEq20; instance {Eq2 PrelBase.Int} = $dEq2Int0; instance {Ord2 PrelBase.Int} = $dOrd2Int0; _declarations_ -1 $dEq20 _:_ _forall_ [a] {Eq2 a, Ord2 a} => {Eq2 [a]} ;; +1 $dEq20 _:_ _forall_ [$a] {Eq2 $a, Ord2 $a} => {Eq2 [$a]} ;; 1 $dEq2Int0 _:_ {Eq2 PrelBase.Int} ;; 1 $dOrd2Int0 _:_ {Ord2 PrelBase.Int} ;; -1 class Eq2 a where {doubleeq :: a -> a -> PrelBase.Bool} ; -1 class {Eq2 a} => Ord2 a where {lt :: a -> a -> PrelBase.Bool} ; -1 f _:_ _forall_ [a b] {Eq2 [b], PrelBase.Num b} => [b] -> a -> PrelBase.Bool ;; +1 class Eq2 $r3X where {doubleeq :: $r3X -> $r3X -> PrelBase.Bool} ; +1 class {Eq2 $r3U} => Ord2 $r3U where {lt :: $r3U -> $r3U -> PrelBase.Bool} ; +1 f _:_ _forall_ [$a $b] {PrelBase.Num $b, Eq2 [$b]} => [$b] -> $a -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc059.stderr b/ghc/tests/typecheck/should_compile/tc059.stderr index 2e3350bb28826f39dfa289e3f0700060f8e80fa0..fdac88b062fb7f2483c1e20907670ddd2f442d92 100644 --- a/ghc/tests/typecheck/should_compile/tc059.stderr +++ b/ghc/tests/typecheck/should_compile/tc059.stderr @@ -1,11 +1,11 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f Eq2(:Eq2 :Eq2 foo deq); +ShouldSucceed f Eq2{:Eq2 :Eq2 foo deq}; _instances_ -instance _forall_ [a] {Eq2 a} => {Eq2 [a]} = $dEq20; +instance _forall_ [$a] {Eq2 $a} => {Eq2 [$a]} = $dEq20; instance {Eq2 PrelBase.Int} = $dEq2Int0; _declarations_ -1 $dEq20 _:_ _forall_ [a] {Eq2 a} => {Eq2 [a]} ;; +1 $dEq20 _:_ _forall_ [$a] {Eq2 $a} => {Eq2 [$a]} ;; 1 $dEq2Int0 _:_ {Eq2 PrelBase.Int} ;; -1 class Eq2 a where {foo :: a -> a; deq :: a -> a -> PrelBase.Bool} ; -1 f _:_ _forall_ [a] {Eq2 [a], PrelBase.Num a} => [a] -> PrelBase.Bool ;; +1 class Eq2 $r3Q where {foo :: $r3Q -> $r3Q; deq :: $r3Q -> $r3Q -> PrelBase.Bool} ; +1 f _:_ _forall_ [$a] {PrelBase.Num $a, Eq2 [$a]} => [$a] -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc060.stderr b/ghc/tests/typecheck/should_compile/tc060.stderr index 825c3a627721ad85fdce903f889f1744558d4436..f4b6aa3ade96660f26dc94fbcb65b5f596362d27 100644 --- a/ghc/tests/typecheck/should_compile/tc060.stderr +++ b/ghc/tests/typecheck/should_compile/tc060.stderr @@ -1,10 +1,10 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed Eq2(:Eq2 :Eq2 deq); +ShouldSucceed Eq2{:Eq2 :Eq2 deq}; _instances_ -instance _forall_ [a] {Eq2 a} => {Eq2 [a]} = $dEq20; +instance _forall_ [$a] {Eq2 $a} => {Eq2 [$a]} = $dEq20; instance {Eq2 PrelBase.Int} = $dEq2Int0; _declarations_ -1 $dEq20 _:_ _forall_ [a] {Eq2 a} => {Eq2 [a]} ;; +1 $dEq20 _:_ _forall_ [$a] {Eq2 $a} => {Eq2 [$a]} ;; 1 $dEq2Int0 _:_ {Eq2 PrelBase.Int} ;; -1 class Eq2 a where {deq :: a -> a -> PrelBase.Bool} ; +1 class Eq2 $r3H where {deq :: $r3H -> $r3H -> PrelBase.Bool} ; diff --git a/ghc/tests/typecheck/should_compile/tc061.stderr b/ghc/tests/typecheck/should_compile/tc061.stderr index 2943fd4b8f334dea2f8d2d63229002b4674ac8b0..ce9b08c62b84e84c9e4f306b81a4887f196d3546 100644 --- a/ghc/tests/typecheck/should_compile/tc061.stderr +++ b/ghc/tests/typecheck/should_compile/tc061.stderr @@ -1,10 +1,10 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed Eq1(:Eq1 :Eq1 deq); +ShouldSucceed Eq1{:Eq1 :Eq1 deq}; _instances_ -instance _forall_ [a] {Eq1 a} => {Eq1 [a]} = $dEq10; +instance _forall_ [$a] {Eq1 $a} => {Eq1 [$a]} = $dEq10; instance {Eq1 PrelBase.Int} = $dEq1Int0; _declarations_ -1 $dEq10 _:_ _forall_ [a] {Eq1 a} => {Eq1 [a]} ;; +1 $dEq10 _:_ _forall_ [$a] {Eq1 $a} => {Eq1 [$a]} ;; 1 $dEq1Int0 _:_ {Eq1 PrelBase.Int} ;; -1 class Eq1 a where {deq :: a -> a -> PrelBase.Bool} ; +1 class Eq1 $r3H where {deq :: $r3H -> $r3H -> PrelBase.Bool} ; diff --git a/ghc/tests/typecheck/should_compile/tc062.stderr b/ghc/tests/typecheck/should_compile/tc062.stderr index 5b810525488295ccbcd151de51913b8cfefb5d67..515302db947fb8995dd903029bd325f0d6bef577 100644 --- a/ghc/tests/typecheck/should_compile/tc062.stderr +++ b/ghc/tests/typecheck/should_compile/tc062.stderr @@ -1,11 +1,11 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f Eq1(:Eq1 :Eq1 deq); +ShouldSucceed f Eq1{:Eq1 :Eq1 deq}; _instances_ -instance _forall_ [a] {Eq1 a} => {Eq1 [a]} = $dEq10; +instance _forall_ [$a] {Eq1 $a} => {Eq1 [$a]} = $dEq10; instance {Eq1 PrelBase.Int} = $dEq1Int0; _declarations_ -1 $dEq10 _:_ _forall_ [a] {Eq1 a} => {Eq1 [a]} ;; +1 $dEq10 _:_ _forall_ [$a] {Eq1 $a} => {Eq1 [$a]} ;; 1 $dEq1Int0 _:_ {Eq1 PrelBase.Int} ;; -1 class Eq1 a where {deq :: a -> a -> PrelBase.Bool} ; -1 f _:_ _forall_ [a] {Eq1 [a]} => [a] -> [a] -> PrelBase.Bool ;; +1 class Eq1 $r3M where {deq :: $r3M -> $r3M -> PrelBase.Bool} ; +1 f _:_ _forall_ [$a] {Eq1 [$a]} => [$a] -> [$a] -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc063.stderr b/ghc/tests/typecheck/should_compile/tc063.stderr index 9b1d8fe6ff1d0ef0ca4f6f9755d4c20eedcc1d65..b131219431452ac5843170fbe17c1d058ac1aa69 100644 --- a/ghc/tests/typecheck/should_compile/tc063.stderr +++ b/ghc/tests/typecheck/should_compile/tc063.stderr @@ -1,14 +1,12 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed g Reps(:Reps :Reps f) X(Tag); +ShouldSucceed g Reps{:Reps :Reps f} X{Tag}; _instances_ -instance _forall_ [a] => {PrelBase.Eval (X a)} = $dEvalX0; instance {Reps PrelBase.Bool} = $dRepsBool0; -instance _forall_ [a] => {Reps (X a)} = $dRepsX0; +instance _forall_ [$a] => {Reps (X $a)} = $dRepsX0; _declarations_ -1 $dEvalX0 _:_ _forall_ [a] => {PrelBase.Eval (X a)} ;; 1 $dRepsBool0 _:_ {Reps PrelBase.Bool} ;; -1 $dRepsX0 _:_ _forall_ [a] => {Reps (X a)} ;; -1 class Reps r where {f :: r -> r -> r} ; -1 data X a = Tag a ; -1 g _:_ _forall_ [a] {Reps a} => a -> a ;; +1 $dRepsX0 _:_ _forall_ [$a] => {Reps (X $a)} ;; +1 class Reps $r3L where {f :: $r3L -> $r3L -> $r3L} ; +1 data X $r3O = Tag $r3O ; +1 g _:_ _forall_ [$a] {Reps $a} => $a -> $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc064.stderr b/ghc/tests/typecheck/should_compile/tc064.stderr index 5734a1dac7f7e456afade01f4386bbebf507e915..7e78f400da04c6dbabb831899dcc10f7c2283b45 100644 --- a/ghc/tests/typecheck/should_compile/tc064.stderr +++ b/ghc/tests/typecheck/should_compile/tc064.stderr @@ -1,9 +1,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed idb Boolean(FF TT); -_instances_ -instance {PrelBase.Eval Boolean} = $dEvalBoolean0; +ShouldSucceed idb Boolean{FF TT}; _declarations_ -1 $dEvalBoolean0 _:_ {PrelBase.Eval Boolean} ;; 1 data Boolean = FF | TT ; 1 idb _:_ Boolean -> Boolean ;; diff --git a/ghc/tests/typecheck/should_compile/tc066.stderr b/ghc/tests/typecheck/should_compile/tc066.stderr index b8c7bf97534fbf4d879a42be6be38691a6ac0073..babf6d9fbcac83636a3fe92d7d6b4dbb05481595 100644 --- a/ghc/tests/typecheck/should_compile/tc066.stderr +++ b/ghc/tests/typecheck/should_compile/tc066.stderr @@ -1,9 +1,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f Pair(MkPair); -_instances_ -instance _forall_ [a b] => {PrelBase.Eval (Pair a b)} = $dEvalPair0; +ShouldSucceed f Pair{MkPair}; _declarations_ -1 $dEvalPair0 _:_ _forall_ [a b] => {PrelBase.Eval (Pair a b)} ;; -1 data Pair a b = MkPair a b ; -1 f _:_ _forall_ [a b c :: (* -> *)] {PrelBase.Monad c} => c (Pair a b) -> c b ;; +1 data Pair $r3x $r3y = MkPair $r3x $r3y ; +1 f _:_ _forall_ [$a :: (* -> *) $b $c] {PrelBase.Monad $a} => $a (Pair $b $c) -> $a $c ;; diff --git a/ghc/tests/typecheck/should_compile/tc067.stderr b/ghc/tests/typecheck/should_compile/tc067.stderr index 8b2ab9bdce9d4fed7066744cfc7ed1ba2f8288a8..079db7f7e60acf65b78e429fa1856af2321f4ea4 100644 --- a/ghc/tests/typecheck/should_compile/tc067.stderr +++ b/ghc/tests/typecheck/should_compile/tc067.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f; _declarations_ -1 f _:_ _forall_ [a] => [a] -> [a] ;; +1 f _:_ _forall_ [$a] => [$a] -> [$a] ;; diff --git a/ghc/tests/typecheck/should_compile/tc068.stderr b/ghc/tests/typecheck/should_compile/tc068.stderr index f99b609c33bdda02f0f57b6433c7ef068c60d26a..6b96b5c856fe45b003a5d19742efd2cc0e596099 100644 --- a/ghc/tests/typecheck/should_compile/tc068.stderr +++ b/ghc/tests/typecheck/should_compile/tc068.stderr @@ -1,15 +1,11 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed B(X Y) T(D C); +ShouldSucceed B{X Y} T{D C}; _instances_ -instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (B a)} = $dEqB0; -instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} = $dEqT0; -instance _forall_ [a] => {PrelBase.Eval (B a)} = $dEvalB0; -instance _forall_ [a] => {PrelBase.Eval (T a)} = $dEvalT0; +instance _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Eq (B $a)} = $dEqB0; +instance _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Eq (T $a)} = $dEqT0; _declarations_ -1 $dEqB0 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (B a)} ;; -1 $dEqT0 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} ;; -1 $dEvalB0 _:_ _forall_ [a] => {PrelBase.Eval (B a)} ;; -1 $dEvalT0 _:_ _forall_ [a] => {PrelBase.Eval (T a)} ;; -1 data B b = X | Y b ; -1 data T a = D (B a) | C ; +1 $dEqB0 _:_ _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Eq (B $a)} ;; +1 $dEqT0 _:_ _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Eq (T $a)} ;; +1 data B $r40 = X | Y $r40 ; +1 data T $r44 = D (B $r44) | C ; diff --git a/ghc/tests/typecheck/should_compile/tc070.stderr b/ghc/tests/typecheck/should_compile/tc070.stderr index 5734a1dac7f7e456afade01f4386bbebf507e915..7e78f400da04c6dbabb831899dcc10f7c2283b45 100644 --- a/ghc/tests/typecheck/should_compile/tc070.stderr +++ b/ghc/tests/typecheck/should_compile/tc070.stderr @@ -1,9 +1,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed idb Boolean(FF TT); -_instances_ -instance {PrelBase.Eval Boolean} = $dEvalBoolean0; +ShouldSucceed idb Boolean{FF TT}; _declarations_ -1 $dEvalBoolean0 _:_ {PrelBase.Eval Boolean} ;; 1 data Boolean = FF | TT ; 1 idb _:_ Boolean -> Boolean ;; diff --git a/ghc/tests/typecheck/should_compile/tc073.stderr b/ghc/tests/typecheck/should_compile/tc073.stderr index 8b2ab9bdce9d4fed7066744cfc7ed1ba2f8288a8..079db7f7e60acf65b78e429fa1856af2321f4ea4 100644 --- a/ghc/tests/typecheck/should_compile/tc073.stderr +++ b/ghc/tests/typecheck/should_compile/tc073.stderr @@ -2,4 +2,4 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f; _declarations_ -1 f _:_ _forall_ [a] => [a] -> [a] ;; +1 f _:_ _forall_ [$a] => [$a] -> [$a] ;; diff --git a/ghc/tests/typecheck/should_compile/tc074.stderr b/ghc/tests/typecheck/should_compile/tc074.stderr index f99b609c33bdda02f0f57b6433c7ef068c60d26a..6b96b5c856fe45b003a5d19742efd2cc0e596099 100644 --- a/ghc/tests/typecheck/should_compile/tc074.stderr +++ b/ghc/tests/typecheck/should_compile/tc074.stderr @@ -1,15 +1,11 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed B(X Y) T(D C); +ShouldSucceed B{X Y} T{D C}; _instances_ -instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (B a)} = $dEqB0; -instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} = $dEqT0; -instance _forall_ [a] => {PrelBase.Eval (B a)} = $dEvalB0; -instance _forall_ [a] => {PrelBase.Eval (T a)} = $dEvalT0; +instance _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Eq (B $a)} = $dEqB0; +instance _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Eq (T $a)} = $dEqT0; _declarations_ -1 $dEqB0 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (B a)} ;; -1 $dEqT0 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} ;; -1 $dEvalB0 _:_ _forall_ [a] => {PrelBase.Eval (B a)} ;; -1 $dEvalT0 _:_ _forall_ [a] => {PrelBase.Eval (T a)} ;; -1 data B b = X | Y b ; -1 data T a = D (B a) | C ; +1 $dEqB0 _:_ _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Eq (B $a)} ;; +1 $dEqT0 _:_ _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Eq (T $a)} ;; +1 data B $r40 = X | Y $r40 ; +1 data T $r44 = D (B $r44) | C ; diff --git a/ghc/tests/typecheck/should_compile/tc077.stderr b/ghc/tests/typecheck/should_compile/tc077.stderr index 2ec321bfb5a595685fd95b42760feeb400c9d55e..f162b3201b06d87d1baf44d001cd02094feae939 100644 --- a/ghc/tests/typecheck/should_compile/tc077.stderr +++ b/ghc/tests/typecheck/should_compile/tc077.stderr @@ -1,10 +1,7 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed EQ(:EQ :EQ ===) NUM(ONE TWO) ORD(:ORD :ORD); -_instances_ -instance {PrelBase.Eval NUM} = $dEvalNUM0; +ShouldSucceed EQ{:EQ :EQ ===} NUM{ONE TWO} ORD{:ORD :ORD}; _declarations_ -1 $dEvalNUM0 _:_ {PrelBase.Eval NUM} ;; -1 class {ORD a, PrelBase.Show a} => EQ a where {=== :: a -> a -> PrelBase.Bool} ; -1 class {PrelBase.Num a} => ORD a ; +1 class {ORD $r3B, PrelBase.Show $r3B} => EQ $r3B where {=== :: $r3B -> $r3B -> PrelBase.Bool} ; +1 class {PrelBase.Num $r3F} => ORD $r3F ; 1 data NUM = ONE | TWO ; diff --git a/ghc/tests/typecheck/should_compile/tc078.stderr b/ghc/tests/typecheck/should_compile/tc078.stderr index 8431460060e1a7aedaeb3ec61f9d9810526ddd38..cb57d73d39b5688d6427b059211919dd171e498d 100644 --- a/ghc/tests/typecheck/should_compile/tc078.stderr +++ b/ghc/tests/typecheck/should_compile/tc078.stderr @@ -5,13 +5,11 @@ tc078.hs:7: Warning: ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldFail Bar(MkBar); +ShouldFail Bar{MkBar}; _instances_ -instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (Bar a)} = $dEqBar0; -instance _forall_ [a] => {PrelBase.Eval (Bar a)} = $dEvalBar0; -instance _forall_ [a] {PrelBase.Ord a} => {PrelBase.Ord (Bar a)} = $dOrdBar0; +instance _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Eq (Bar $a)} = $dEqBar0; +instance _forall_ [$a] {PrelBase.Ord $a} => {PrelBase.Ord (Bar $a)} = $dOrdBar0; _declarations_ -1 $dEqBar0 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (Bar a)} ;; -1 $dEvalBar0 _:_ _forall_ [a] => {PrelBase.Eval (Bar a)} ;; -1 $dOrdBar0 _:_ _forall_ [a] {PrelBase.Ord a, PrelBase.Eq (Bar a)} => {PrelBase.Ord (Bar a)} ;; -1 data Bar a = MkBar PrelBase.Int a ; +1 $dEqBar0 _:_ _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Eq (Bar $a)} ;; +1 $dOrdBar0 _:_ _forall_ [$a] {PrelBase.Ord $a, PrelBase.Eq (Bar $a)} => {PrelBase.Ord (Bar $a)} ;; +1 data Bar $r3x = MkBar PrelBase.Int $r3x ; diff --git a/ghc/tests/typecheck/should_compile/tc079.stderr b/ghc/tests/typecheck/should_compile/tc079.stderr index 0a1d3b1b40dd6fb2c33a1797f9685ccc797e9c58..56b5e083ad39537f5831a6151388995d6419013e 100644 --- a/ghc/tests/typecheck/should_compile/tc079.stderr +++ b/ghc/tests/typecheck/should_compile/tc079.stderr @@ -1,12 +1,12 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed Foo(:Foo :Foo op2 op1); +ShouldSucceed Foo{:Foo :Foo op2 op1}; _instances_ -instance _forall_ [a] {Foo a} => {Foo [a]} = $dFoo0; +instance _forall_ [$a] {Foo $a} => {Foo [$a]} = $dFoo0; instance {Foo PrelBase.Int} = $dFooInt0; _declarations_ -1 $dFoo0 _:_ _forall_ [a] {Foo a} => {Foo [a]} ;; +1 $dFoo0 _:_ _forall_ [$a] {Foo $a} => {Foo [$a]} ;; 1 $dFooInt0 _:_ {Foo PrelBase.Int} ;; -1 $mop1 _:_ _forall_ [a] {Foo a} => a -> PrelBase.Bool ;; -1 $mop2 _:_ _forall_ [a] {Foo a} => _forall_ [b] {PrelBase.Ord b} => a -> b -> b -> b ;; -1 class Foo a where {op2 = :: _forall_ [b] {PrelBase.Ord b} => a -> b -> b -> b; op1 = :: a -> PrelBase.Bool} ; +1 $mop1 _:_ _forall_ [$a] {Foo $a} => $a -> PrelBase.Bool ;; +1 $mop2 _:_ _forall_ [$a] {Foo $a} => _forall_ [$b] {PrelBase.Ord $b} => $a -> $b -> $b -> $b ;; +1 class Foo $r3z where {op2 = :: _forall_ [$r3B] {PrelBase.Ord $r3B} => $r3z -> $r3B -> $r3B -> $r3B; op1 = :: $r3z -> PrelBase.Bool} ; diff --git a/ghc/tests/typecheck/should_compile/tc080.stderr b/ghc/tests/typecheck/should_compile/tc080.stderr index ccaf3b819e63d46ea65ef7a0b7d4dd6379704347..549b1e14da9e6be045707cd83229e703407ba255 100644 --- a/ghc/tests/typecheck/should_compile/tc080.stderr +++ b/ghc/tests/typecheck/should_compile/tc080.stderr @@ -1,22 +1,22 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed charToInt lines' seperatedBy span' strToInt whiteSpace Parse(:Parse :Parse forced parse parseType parseLine parseFile); +ShouldSucceed charToInt lines' seperatedBy span' strToInt whiteSpace Parse{:Parse :Parse forced parse parseType parseLine parseFile}; _instances_ -instance _forall_ [a] {Parse a} => {Parse [a]} = $dParse0; +instance _forall_ [$a] {Parse $a} => {Parse [$a]} = $dParse0; instance {Parse PrelBase.Char} = $dParseChar0; instance {Parse PrelBase.Int} = $dParseInt0; _declarations_ -1 $dParse0 _:_ _forall_ [a] {Parse a} => {Parse [a]} ;; +1 $dParse0 _:_ _forall_ [$a] {Parse $a} => {Parse [$a]} ;; 1 $dParseChar0 _:_ {Parse PrelBase.Char} ;; 1 $dParseInt0 _:_ {Parse PrelBase.Int} ;; -1 $mforced _:_ _forall_ [a] {Parse a} => a -> PrelBase.Bool ;; -1 $mparse _:_ _forall_ [a] {Parse a} => PrelBase.String -> (a, PrelBase.String) ;; -1 $mparseFile _:_ _forall_ [a] {Parse a} => PrelBase.String -> [a] ;; -1 $mparseLine _:_ _forall_ [a] {Parse a} => PrelBase.String -> a ;; +1 $mforced _:_ _forall_ [$a] {Parse $a} => $a -> PrelBase.Bool ;; +1 $mparse _:_ _forall_ [$a] {Parse $a} => PrelBase.String -> ($a, PrelBase.String) ;; +1 $mparseFile _:_ _forall_ [$a] {Parse $a} => PrelBase.String -> [$a] ;; +1 $mparseLine _:_ _forall_ [$a] {Parse $a} => PrelBase.String -> $a ;; 1 charToInt _:_ PrelBase.Char -> PrelBase.Int ;; -1 class Parse a where {forced = :: a -> PrelBase.Bool; parse = :: PrelBase.String -> (a, PrelBase.String); parseType :: PrelBase.String -> (a, PrelBase.String); parseLine = :: PrelBase.String -> a; parseFile = :: PrelBase.String -> [a]} ; +1 class Parse $r5B where {forced = :: $r5B -> PrelBase.Bool; parse = :: PrelBase.String -> ($r5B, PrelBase.String); parseType :: PrelBase.String -> ($r5B, PrelBase.String); parseLine = :: PrelBase.String -> $r5B; parseFile = :: PrelBase.String -> [$r5B]} ; 1 lines' _:_ [PrelBase.Char] -> [[PrelBase.Char]] ;; 1 seperatedBy _:_ PrelBase.Char -> PrelBase.String -> [PrelBase.String] ;; -1 span' _:_ _forall_ [a] => (a -> PrelBase.Bool) -> [a] -> ([a], [a]) ;; +1 span' _:_ _forall_ [$a] => ($a -> PrelBase.Bool) -> [$a] -> ([$a], [$a]) ;; 1 strToInt _:_ PrelBase.String -> PrelBase.Int ;; 1 whiteSpace _:_ PrelBase.String -> PrelBase.String ;; diff --git a/ghc/tests/typecheck/should_compile/tc081.stderr b/ghc/tests/typecheck/should_compile/tc081.stderr index c4048b4babe2d88fc26e584a6f99bc4c5c6928b6..1d22d27c7512648ee2d2ab7c8f52175fa3ed2d61 100644 --- a/ghc/tests/typecheck/should_compile/tc081.stderr +++ b/ghc/tests/typecheck/should_compile/tc081.stderr @@ -2,6 +2,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f f2 f3; _declarations_ -1 f _:_ _forall_ [a] {PrelBase.Num a, PrelBase.Ord a} => a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;; -1 f2 _:_ _forall_ [a] {PrelBase.Num a, PrelBase.Ord a} => a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;; -1 f3 _:_ _forall_ [a] {PrelBase.Num a, PrelBase.Ord a} => a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;; +1 f _:_ _forall_ [$a] {PrelBase.Ord $a, PrelBase.Num $a} => $a -> ($a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;; +1 f2 _:_ _forall_ [$a] {PrelBase.Ord $a, PrelBase.Num $a} => $a -> ($a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;; +1 f3 _:_ _forall_ [$a] {PrelBase.Ord $a, PrelBase.Num $a} => $a -> ($a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;; diff --git a/ghc/tests/typecheck/should_compile/tc082.stderr b/ghc/tests/typecheck/should_compile/tc082.stderr index d6c860aeb5b686a0f4d3de692923335130a6dd32..e81df92294522ade39dc31bcdc5e6734f56be2a0 100644 --- a/ghc/tests/typecheck/should_compile/tc082.stderr +++ b/ghc/tests/typecheck/should_compile/tc082.stderr @@ -1,11 +1,9 @@ - -NOTE: Simplifier still going after 4 iterations; bailing out. ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed f Normal(:Normal :Normal normal); +ShouldSucceed f Normal{:Normal :Normal normal}; _instances_ -instance _forall_ [a b] => {Normal (a -> b)} = $dNormal0; +instance _forall_ [$a $b] => {Normal ($a -> $b)} = $dNormal0; _declarations_ -1 $dNormal0 _:_ _forall_ [a b] => {Normal (a -> b)} ;; -1 class Normal a where {normal :: a -> PrelBase.Bool} ; -1 f _:_ _forall_ [a] => a -> PrelBase.Bool ;; +1 $dNormal0 _:_ _forall_ [$a $b] => {Normal ($a -> $b)} ;; +1 class Normal $r3D where {normal :: $r3D -> PrelBase.Bool} ; +1 f _:_ _forall_ [$a] => $a -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc084.stderr b/ghc/tests/typecheck/should_compile/tc084.stderr index 433675155d762c86d554e2e87e0c722fab7e27f0..70a62032078d5597ca2a5364d7e8529539706a4a 100644 --- a/ghc/tests/typecheck/should_compile/tc084.stderr +++ b/ghc/tests/typecheck/should_compile/tc084.stderr @@ -2,6 +2,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed f g h; _declarations_ -1 f _:_ _forall_ [a] => PrelBase.Int -> a -> PrelBase.Int ;; -1 g _:_ _forall_ [a b] {PrelBase.Num a} => PrelBase.Bool -> a -> b -> a ;; -1 h _:_ _forall_ [a] => a -> PrelBase.Int -> PrelBase.Int ;; +1 f _:_ _forall_ [$a] => PrelBase.Int -> $a -> PrelBase.Int ;; +1 g _:_ _forall_ [$a $b] {PrelBase.Num $a} => PrelBase.Bool -> $a -> $b -> $a ;; +1 h _:_ _forall_ [$a] => $a -> PrelBase.Int -> PrelBase.Int ;; diff --git a/ghc/tests/typecheck/should_compile/tc085.stderr b/ghc/tests/typecheck/should_compile/tc085.stderr index 657ba011e75f48e81997d81c7f247004aec1b530..cdd95a74d22a186ecf9bcf0d1acc474e70d41a07 100644 --- a/ghc/tests/typecheck/should_compile/tc085.stderr +++ b/ghc/tests/typecheck/should_compile/tc085.stderr @@ -1,13 +1,9 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -IOExts boundsIOArray freezeIOArray newIOArray newIORef readIOArray readIORef reallyUnsafePtrEq writeIOArray writeIORef IOArray IORef; -PrelGHC *# *## **## +# +## -# -## /# /## /=# /=## <# <## <=# <=## ==# ==## ># >## >=# >=## acosDouble# acosFloat# addr2Int# and# asinDouble# asinFloat# assert__ atanDouble# atanFloat# chr# cmpInteger# cosDouble# cosFloat# coshDouble# coshFloat# deRefStablePtr# decodeDouble# decodeFloat# delay# divideFloat# double2Float# double2Int# encodeDouble# encodeFloat# eqAddr# eqChar# eqFloat# eqWord# errorIO# expDouble# expFloat# float2Double# float2Int# fork# geAddr# geChar# geFloat# geWord# gtAddr# gtChar# gtFloat# gtWord# iShiftL# iShiftRA# iShiftRL# indexAddrArray# indexAddrOffAddr# indexAddrOffForeignObj# indexArray# indexCharArray# indexCharOffAddr# indexCharOffForeignObj# indexDoubleArray# indexDoubleOffAddr# indexDoubleOffForeignObj# indexFloatArray# indexFloatOffAddr# indexFloatOffForeignObj# indexIntArray# indexIntOffAddr# indexIntOffForeignObj# indexWordArray# indexWordOffAddr# indexWordOffForeignObj# int2Addr# int2Double# int2Float# int2Integer# int2Word# integer2Int# integer2Word# leAddr# leChar# leFloat# leWord# logDouble# logFloat# ltAddr# ltChar# ltFloat# ltWord# makeForeignObj# makeStablePtr# minusFloat# minusInteger# neAddr# neChar# neFloat# neWord# negateDouble# negateFloat# negateInt# negateInteger# newAddrArray# newArray# newCharArray# newDoubleArray# newFloatArray# newIntArray# newSynchVar# newWordArray# not# or# ord# par# parAt# parAtAbs# parAtForNow# parAtRel# parGlobal# parLocal# plusFloat# plusInteger# powerFloat# putMVar# quotInt# quotRemInteger# quotWord# readAddrArray# readArray# readCharArray# readDoubleArray# readFloatArray# readIntArray# readWordArray# realWorld# reallyUnsafePtrEquality# remInt# remWord# sameMutableArray# sameMutableByteArray# seq# shiftL# shiftRA# shiftRL# sinDouble# sinFloat# sinhDouble# sinhFloat# sizeofByteArray# sizeofMutableByteArray# sqrtDouble# sqrtFloat# takeMVar# tanDouble# tanFloat# tanhDouble# tanhFloat# timesFloat# timesInteger# unsafeFreezeArray# unsafeFreezeByteArray# waitRead# waitWrite# word2Int# word2Integer# writeAddrArray# writeArray# writeCharArray# writeDoubleArray# writeFloatArray# writeForeignObj# writeIntArray# writeWordArray# xor# -> Addr# All Array# ByteArray# CCallable CReturnable Char# Double# Float# ForeignObj# Int# Int64# MutableArray# MutableByteArray# RealWorld StablePtr# State# SynchVar# Void Word# Word64#; -PrelHandle openFileEx IOModeEx(BinaryMode TextMode); -PrelIOBase fixIO performGC; -PrelUnsafe trace unsafeInterleaveIO unsafePerformIO; -_instances_ -instance {PrelBase.Eval FooData} = $dEvalFooData0; +IOExts boundsIOArray freezeIOArray newIOArray newIORef performGC readIOArray readIORef trace unsafeIOToST unsafePtrEq writeIOArray writeIORef IOArray IORef; +PrelGHC *# *## **## +# +## -# -## /# /## /=# /=## <# <## <=# <=## ==# ==## ># >## >=# >=## acosDouble# acosFloat# addr2Int# addr2Integer# and# asinDouble# asinFloat# assert atanDouble# atanFloat# catch# chr# cmpInteger# cosDouble# cosFloat# coshDouble# coshFloat# deRefStablePtr# decodeDouble# decodeFloat# delay# divideFloat# double2Float# double2Int# encodeDouble# encodeFloat# eqAddr# eqChar# eqFloat# eqWord# expDouble# expFloat# float2Double# float2Int# fork# geAddr# geChar# geFloat# geWord# gtAddr# gtChar# gtFloat# gtWord# iShiftL# iShiftRA# iShiftRL# indexAddrArray# indexAddrOffAddr# indexAddrOffForeignObj# indexArray# indexCharArray# indexCharOffAddr# indexCharOffForeignObj# indexDoubleArray# indexDoubleOffAddr# indexDoubleOffForeignObj# indexFloatArray# indexFloatOffAddr# indexFloatOffForeignObj# indexInt64Array# indexInt64OffAddr# indexInt64OffForeignObj# indexIntArray# indexIntOffAddr# indexIntOffForeignObj# indexStablePtrArray# indexStablePtrOffAddr# indexStablePtrOffForeignObj# indexWord64Array# indexWord64OffAddr# indexWord64OffForeignObj# indexWordArray# indexWordOffAddr# indexWordOffForeignObj# int2Addr# int2Double# int2Float# int2Integer# int2Word# int64ToInteger# integer2Int# integer2Word# integerToInt64# integerToWord64# killThread# leAddr# leChar# leFloat# leWord# logDouble# logFloat# ltAddr# ltChar# ltFloat# ltWord# makeForeignObj# makeStablePtr# minusFloat# minusInteger# neAddr# neChar# neFloat# neWord# negateDouble# negateFloat# negateInt# negateInteger# newAddrArray# newArray# newCharArray# newDoubleArray# newFloatArray# newIntArray# newMVar# newMutVar# newStablePtrArray# newWordArray# not# or# ord# par# parAt# parAtAbs# parAtForNow# parAtRel# parGlobal# parLocal# plusFloat# plusInteger# powerFloat# putMVar# quotInt# quotRemInteger# quotWord# raise# readAddrArray# readArray# readCharArray# readDoubleArray# readFloatArray# readInt64Array# readIntArray# readMutVar# readStablePtrArray# readWord64Array# readWordArray# realWorld# reallyUnsafePtrEquality# remInt# remWord# sameMVar# sameMutVar# sameMutableArray# sameMutableByteArray# seq# shiftL# shiftRA# shiftRL# sinDouble# sinFloat# sinhDouble# sinhFloat# sizeofByteArray# sizeofMutableByteArray# sqrtDouble# sqrtFloat# takeMVar# tanDouble# tanFloat# tanhDouble# tanhFloat# timesFloat# timesInteger# unsafeCoerce# unsafeFreezeArray# unsafeFreezeByteArray# waitRead# waitWrite# word2Int# word2Integer# word64ToInteger# writeAddrArray# writeAddrOffAddr# writeArray# writeCharArray# writeCharOffAddr# writeDoubleArray# writeDoubleOffAddr# writeFloatArray# writeFloatOffAddr# writeForeignObj# writeForeignObjOffAddr# writeInt64Array# writeInt64OffAddr# writeIntArray# writeIntOffAddr# writeMutVar# writeStablePtrArray# writeStablePtrOffAddr# writeWord64Array# writeWord64OffAddr# writeWordArray# writeWordOffAddr# xor# -> Addr# All Array# ByteArray# CCallable CReturnable Char# Double# Float# ForeignObj# Int# Int64# MVar# MutVar# MutableArray# MutableByteArray# RealWorld StablePtr# State# ThreadId# Void Word# Word64#; +PrelHandle hConnectTo hGetEcho hIsTerminalDevice hSetEcho openFileEx IOModeEx{BinaryMode TextMode}; +PrelIOBase fixIO unsafeInterleaveIO unsafePerformIO; _declarations_ -1 $dEvalFooData0 _:_ {PrelBase.Eval FooData} ;; 1 data FooData = FooData ; 1 type FooType = PrelBase.Int ; diff --git a/ghc/tests/typecheck/should_compile/tc086.stderr b/ghc/tests/typecheck/should_compile/tc086.stderr index f85e891c30c8cf83cad2263ec6d47109211716e9..55c52c1b2772101231ece88573506c8560c04d97 100644 --- a/ghc/tests/typecheck/should_compile/tc086.stderr +++ b/ghc/tests/typecheck/should_compile/tc086.stderr @@ -2,8 +2,8 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed Group Ring; _declarations_ -1 $m* _:_ _forall_ [a] {Ring a} => a -> a -> a ;; -1 $mone _:_ _forall_ [a] {Group a} => a ;; -1 $mzero _:_ _forall_ [a] {Group a} => a ;; -1 class Group a where {one = :: a; zero = :: a; - :: a -> a -> a; + :: a -> a -> a; fromInteger :: PrelBase.Integer -> a; compare :: a -> a -> PrelBase.Ordering} ; -1 class {Group a} => Ring a where {* = :: a -> a -> a} ; +1 $m* _:_ _forall_ [$a] {Ring $a} => $a -> $a -> $a ;; +1 $mone _:_ _forall_ [$a] {Group $a} => $a ;; +1 $mzero _:_ _forall_ [$a] {Group $a} => $a ;; +1 class Group $r7i where {one = :: $r7i; zero = :: $r7i; - :: $r7i -> $r7i -> $r7i; + :: $r7i -> $r7i -> $r7i; fromInteger :: PrelBase.Integer -> $r7i; compare :: $r7i -> $r7i -> PrelBase.Ordering} ; +1 class {Group $r6Z} => Ring $r6Z where {* = :: $r6Z -> $r6Z -> $r6Z} ; diff --git a/ghc/tests/typecheck/should_compile/tc087.hs b/ghc/tests/typecheck/should_compile/tc087.hs index 415fbc6ee18be47dbe0025f194a5a612dbb96108..ae467145a1b205fede1cd5aae0f33d43e3781803 100644 --- a/ghc/tests/typecheck/should_compile/tc087.hs +++ b/ghc/tests/typecheck/should_compile/tc087.hs @@ -18,7 +18,7 @@ toOrderedList q = case splitMin q of insertMany x q = foldr insert q x pqSort q x = toOrderedList (insertMany x q) -check :: (PriorityQueue q) => (Ord a => q a) -> IO () +check :: forall q. (PriorityQueue q) => (forall a. Ord a => q a) -> IO () check empty = do putStr "*** sorting\n" out (pqSort empty [1 .. 99]) diff --git a/ghc/tests/typecheck/should_compile/tc087.stderr b/ghc/tests/typecheck/should_compile/tc087.stderr index c3d9f48e1e1643085f4e7dca90dd0d96bba2ddd1..8850108d651ad30291a23fffd91995b085c550d0 100644 --- a/ghc/tests/typecheck/should_compile/tc087.stderr +++ b/ghc/tests/typecheck/should_compile/tc087.stderr @@ -1,15 +1,12 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed check insertMany out pqSort toOrderedList PriorityQueue(:PriorityQueue :PriorityQueue splitMin meld insert single empty) SeqView(Null Cons); -_instances_ -instance _forall_ [a :: (* -> *) b] => {PrelBase.Eval (SeqView a b)} = $dEvalSeqView0; +ShouldSucceed check insertMany out pqSort toOrderedList PriorityQueue{:PriorityQueue :PriorityQueue splitMin meld insert single empty} SeqView{Null Cons}; _declarations_ -1 $dEvalSeqView0 _:_ _forall_ [a :: (* -> *) b] => {PrelBase.Eval (SeqView a b)} ;; -1 $minsert _:_ _forall_ [a :: (* -> *)] {PriorityQueue a} => _forall_ [b] {PrelBase.Ord b} => b -> a b -> a b ;; -1 check _:_ _forall_ [a :: (* -> *)] {PriorityQueue a} => (_forall_ [b] {PrelBase.Ord b} => a b) -> PrelIOBase.IO PrelBase.() ;; -1 class PriorityQueue q :: (* -> *) where {splitMin :: _forall_ [a] {PrelBase.Ord a} => q a -> SeqView q a; meld :: _forall_ [a] {PrelBase.Ord a} => q a -> q a -> q a; insert = :: _forall_ [a] {PrelBase.Ord a} => a -> q a -> q a; single :: _forall_ [a] {PrelBase.Ord a} => a -> q a; empty :: _forall_ [a] {PrelBase.Ord a} => q a} ; -1 data SeqView t :: (* -> *) a = Null | Cons a (t a) ; -1 insertMany _:_ _forall_ [a b :: (* -> *)] {PriorityQueue b, PrelBase.Ord a} => [a] -> b a -> b a ;; -1 out _:_ _forall_ [a] {PrelBase.Num a} => [a] -> PrelIOBase.IO PrelBase.() ;; -1 pqSort _:_ _forall_ [a :: (* -> *) b] {PrelBase.Ord b, PriorityQueue a} => a b -> [b] -> [b] ;; -1 toOrderedList _:_ _forall_ [a :: (* -> *) b] {PriorityQueue a, PrelBase.Ord b} => a b -> [b] ;; +1 $minsert _:_ _forall_ [$a :: (* -> *)] {PriorityQueue $a} => _forall_ [$b] {PrelBase.Ord $b} => $b -> $a $b -> $a $b ;; +1 check _:_ _forall_ [$a :: (* -> *)] {PriorityQueue $a} => (_forall_ [$b] {PrelBase.Ord $b} => $a $b) -> PrelIOBase.IO PrelBase.() ;; +1 class PriorityQueue $r4c :: (* -> *) where {splitMin :: _forall_ [$r4e] {PrelBase.Ord $r4e} => $r4c $r4e -> SeqView $r4c $r4e; meld :: _forall_ [$r4h] {PrelBase.Ord $r4h} => $r4c $r4h -> $r4c $r4h -> $r4c $r4h; insert = :: _forall_ [$r4j] {PrelBase.Ord $r4j} => $r4j -> $r4c $r4j -> $r4c $r4j; single :: _forall_ [$r4m] {PrelBase.Ord $r4m} => $r4m -> $r4c $r4m; empty :: _forall_ [$r4o] {PrelBase.Ord $r4o} => $r4c $r4o} ; +1 data SeqView $r4v :: (* -> *) $r4w = Null | Cons $r4w ($r4v $r4w) ; +1 insertMany _:_ _forall_ [$a $b :: (* -> *)] {PrelBase.Ord $a, PriorityQueue $b} => [$a] -> $b $a -> $b $a ;; +1 out _:_ _forall_ [$a] {PrelBase.Num $a} => [$a] -> PrelIOBase.IO PrelBase.() ;; +1 pqSort _:_ _forall_ [$a :: (* -> *) $b] {PriorityQueue $a, PrelBase.Ord $b} => $a $b -> [$b] -> [$b] ;; +1 toOrderedList _:_ _forall_ [$a :: (* -> *) $b] {PrelBase.Ord $b, PriorityQueue $a} => $a $b -> [$b] ;; diff --git a/ghc/tests/typecheck/should_compile/tc088.stderr b/ghc/tests/typecheck/should_compile/tc088.stderr index 376c6012ad0e4cf255bfcec33d12a08bc65d49ca..87a99d929fdd3830bbdcb6d334bfb0ae30d89a14 100644 --- a/ghc/tests/typecheck/should_compile/tc088.stderr +++ b/ghc/tests/typecheck/should_compile/tc088.stderr @@ -1,8 +1,8 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ _instances_ -instance _forall_ [a b] {PrelBase.Eq b} => {PrelBase.Eq (a -> b)} = $dEq0; -instance _forall_ [a b] {PrelBase.Num b} => {PrelBase.Num (a -> b)} = $dNum0; +instance _forall_ [$a $b] {PrelBase.Eq $b} => {PrelBase.Eq ($a -> $b)} = $dEq0; +instance _forall_ [$a $b] {PrelBase.Num $b} => {PrelBase.Num ($a -> $b)} = $dNum0; _declarations_ -1 $dEq0 _:_ _forall_ [a b] {PrelBase.Eq b} => {PrelBase.Eq (a -> b)} ;; -1 $dNum0 _:_ _forall_ [a b] {PrelBase.Num b, PrelBase.Eq (a -> b), PrelBase.Show (a -> b), PrelBase.Eval (a -> b)} => {PrelBase.Num (a -> b)} ;; +1 $dEq0 _:_ _forall_ [$a $b] {PrelBase.Eq $b} => {PrelBase.Eq ($a -> $b)} ;; +1 $dNum0 _:_ _forall_ [$a $b] {PrelBase.Num $b, PrelBase.Eq ($a -> $b), PrelBase.Show ($a -> $b)} => {PrelBase.Num ($a -> $b)} ;; diff --git a/ghc/tests/typecheck/should_compile/tc089.stderr b/ghc/tests/typecheck/should_compile/tc089.stderr index 68e157130b9503d4aa5508e0e5ea3625e230c89f..8ef36a69899f1c47b86dd7131e2cd89b5b46b834 100644 --- a/ghc/tests/typecheck/should_compile/tc089.stderr +++ b/ghc/tests/typecheck/should_compile/tc089.stderr @@ -2,37 +2,37 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed absAnd absIf bottom f f_rec f_rec0 f_rec1 f_rec2 fac fac_rec fac_rec0 fac_rec1 fac_rec2 fac_rec3 fac_rec4 g g_rec g_rec0 g_rec1 g_rec2 g_rec3 g_rec4 g_rec5 g_rec6 g_rec7 g_rec8 head one s_1_0 s_2_0 s_2_1 s_3_0 s_3_1 s_3_2; _declarations_ -1 absAnd _:_ _forall_ [a] => a -> a -> a ;; -1 absIf _:_ _forall_ [a b c] => a -> b -> c -> a ;; -1 bottom _:_ _forall_ [a] => [a] -> a ;; -1 f _:_ _forall_ [a] => a -> a ;; -1 f_rec _:_ _forall_ [a b] => (b -> a) -> b -> a ;; -1 f_rec0 _:_ _forall_ [a] => a -> a ;; -1 f_rec1 _:_ _forall_ [a] => a -> a ;; -1 f_rec2 _:_ _forall_ [a] => a -> a ;; -1 fac _:_ _forall_ [a b c d e f g h i j k] => (a, (j, (c, (d, (e, f)))), (b, (c, (d, (e, f))), (g, (d, (e, f)), (h, (e, f), (i, f, f))))) -> (k, (j, (c, (d, (e, f))))) -> a ;; -1 fac_rec _:_ _forall_ [a b c d e] => (c -> d -> a) -> (b, d, c) -> (e, d) -> b ;; -1 fac_rec0 _:_ _forall_ [a] => a -> a -> a ;; -1 fac_rec1 _:_ _forall_ [a b c] => (a, b, b) -> (c, b) -> a ;; -1 fac_rec2 _:_ _forall_ [a b c d e] => (a, (d, c), (b, c, c)) -> (e, (d, c)) -> a ;; -1 fac_rec3 _:_ _forall_ [a b c d e f g] => (a, (f, (c, d)), (b, (c, d), (e, d, d))) -> (g, (f, (c, d))) -> a ;; -1 fac_rec4 _:_ _forall_ [a b c d e f g h i] => (a, (h, (c, (d, e))), (b, (c, (d, e)), (f, (d, e), (g, e, e)))) -> (i, (h, (c, (d, e)))) -> a ;; -1 g _:_ _forall_ [a b c d e f g h i j k l m n o p q r s t u v w x y z tq tr ts tt tu tv tw tx ty tz tA tB tC tD tE tF tG tH tI tJ tK tL tM tN tO tP tQ tR tS tT tU tV tW tX tY tZ t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t1a t1b t1c t1d t1e t1f t1g t1h t1i t1j t1k t1l t1m t1n t1o t1p t1q t1r t1s t1t t1u t1v t1w t1x t1y t1z t1A t1B t1C t1D t1E t1F t1G t1H t1I t1J t1K t1L t1M t1N t1O t1P t1Q t1R t1S t1T t1U t1V t1W t1X t1Y t1Z t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t2a t2b t2c t2d t2e t2f t2g t2h t2i t2j t2k t2l t2m t2n t2o t2p t2q t2r t2s t2t t2u t2v t2w t2x t2y t2z t2A t2B t2C t2D t2E t2F t2G t2H t2I t2J t2K t2L t2M t2N t2O t2P t2Q t2R t2S t2T t2U t2V t2W t2X t2Y t2Z t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t3a t3b t3c t3d t3e t3f t3g t3h t3i t3j t3k t3l t3m t3n t3o t3p t3q t3r t3s t3t t3u t3v t3w t3x t3y t3z t3A t3B t3C t3D t3E t3F t3G t3H t3I t3J t3K t3L t3M t3N t3O t3P t3Q t3R t3S t3T t3U t3V t3W t3X t3Y t3Z t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t4a t4b t4c t4d t4e t4f t4g t4h t4i t4j t4k t4l t4m t4n t4o t4p t4q t4r t4s t4t t4u t4v t4w t4x t4y t4z t4A t4B t4C t4D t4E t4F t4G t4H t4I t4J t4K t4L t4M t4N t4O t4P t4Q t4R t4S t4T t4U t4V t4W t4X t4Y t4Z t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t5a t5b t5c t5d t5e t5f t5g t5h t5i t5j t5k t5l t5m t5n t5o t5p t5q t5r t5s t5t t5u t5v t5w t5x t5y t5z t5A t5B t5C t5D t5E t5F t5G t5H t5I t5J t5K t5L t5M t5N t5O t5P t5Q t5R t5S t5T t5U t5V t5W t5X t5Y t5Z t60 t61 t62 t63 t64 t65 t66 t67 t68 t69 t6a t6b t6c t6d t6e t6f t6g t6h t6i t6j t6k t6l t6m t6n t6o t6p t6q t6r t6s t6t t6u t6v t6w t6x t6y t6z t6A t6B t6C t6D t6E t6F t6G t6H t6I t6J t6K t6L t6M t6N t6O t6P t6Q t6R t6S t6T t6U t6V t6W t6X t6Y t6Z t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t7a t7b t7c t7d t7e t7f t7g t7h t7i t7j t7k t7l t7m t7n t7o t7p t7q t7r t7s t7t t7u t7v t7w t7x t7y t7z t7A t7B t7C t7D t7E t7F t7G t7H t7I t7J t7K t7L t7M t7N t7O t7P t7Q t7R t7S t7T t7U t7V t7W t7X t7Y t7Z t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t8a t8b t8c t8d t8e t8f t8g t8h t8i t8j] => t8j -> b -> (t8j, t4a, t49) -> (a, (t4b, (c, (d, (e, (f, (g, (h, (i, j, j), (i, k, k)), (h, (l, m, m), (l, n, n))), (g, (o, (p, q, q), (p, r, r)), (o, (s, t, t), (s, u, u)))), (f, (v, (w, (x, y, y), (x, z, z)), (w, (tq, tr, tr), (tq, ts, ts))), (v, (tt, (tu, tv, tv), (tu, tw, tw)), (tt, (tx, ty, ty), (tx, tz, tz))))), (e, (tA, (tB, (tC, (tD, tE, tE), (tD, tF, tF)), (tC, (tG, tH, tH), (tG, tI, tI))), (tB, (tJ, (tK, tL, tL), (tK, tM, tM)), (tJ, (tN, tO, tO), (tN, tP, tP)))), (tA, (tQ, (tR, (tS, tT, tT), (tS, tU, tU)), (tR, (tV, tW, tW), (tV, tX, tX))), (tQ, (tY, (tZ, t10, t10), (tZ, t11, t11)), (tY, (t12, t13, t13), (t12, t14, t14)))))), (d, (t15, (t16, (t17, (t18, (t19, t1a, t1a), (t19, t1b, t1b)), (t18, (t1c, t1d, t1d), (t1c, t1e, t1e))), (t17, (t1f, (t1g, t1h, t1h), (t1g, t1i, t1i)), (t1f, (t1j, t1k, t1k), (t1j, t1l, t1l)))), (t16, (t1m, (t1n, (t1o, t1p, t1p), (t1o, t1q, t1q)), (t1n, (t1r, t1s, t1s), (t1r, t1t, t1t))), (t1m, (t1u, (t1v, t1w, t1w), (t1v, t1x, t1x)), (t1u, (t1y, t1z, t1z), (t1y, t1A, t1A))))), (t15, (t1B, (t1C, (t1D, (t1E, t1F, t1F), (t1E, t1G, t1G)), (t1D, (t1H, t1I, t1I), (t1H, t1J, t1J))), (t1C, (t1K, (t1L, t1M, t1M), (t1L, t1N, t1N)), (t1K, (t1O, t1P, t1P), (t1O, t1Q, t1Q)))), (t1B, (t1R, (t1S, (t1T, t1U, t1U), (t1T, t1V, t1V)), (t1S, (t1W, t1X, t1X), (t1W, t1Y, t1Y))), (t1R, (t1Z, (t20, t21, t21), (t20, t22, t22)), (t1Z, (t23, t24, t24), (t23, t25, t25))))))), (c, (t26, (t27, (t28, (t29, (t2a, (t2b, t2c, t2c), (t2b, t2d, t2d)), (t2a, (t2e, t2f, t2f), (t2e, t2g, t2g))), (t29, (t2h, (t2i, t2j, t2j), (t2i, t2k, t2k)), (t2h, (t2l, t2m, t2m), (t2l, t2n, t2n)))), (t28, (t2o, (t2p, (t2q, t2r, t2r), (t2q, t2s, t2s)), (t2p, (t2t, t2u, t2u), (t2t, t2v, t2v))), (t2o, (t2w, (t2x, t2y, t2y), (t2x, t2z, t2z)), (t2w, (t2A, t2B, t2B), (t2A, t2C, t2C))))), (t27, (t2D, (t2E, (t2F, (t2G, t2H, t2H), (t2G, t2I, t2I)), (t2F, (t2J, t2K, t2K), (t2J, t2L, t2L))), (t2E, (t2M, (t2N, t2O, t2O), (t2N, t2P, t2P)), (t2M, (t2Q, t2R, t2R), (t2Q, t2S, t2S)))), (t2D, (t2T, (t2U, (t2V, t2W, t2W), (t2V, t2X, t2X)), (t2U, (t2Y, t2Z, t2Z), (t2Y, t30, t30))), (t2T, (t31, (t32, t33, t33), (t32, t34, t34)), (t31, (t35, t36, t36), (t35, t37, t37)))))), (t26, (t38, (t39, (t3a, (t3b, (t3c, t3d, t3d), (t3c, t3e, t3e)), (t3b, (t3f, t3g, t3g), (t3f, t3h, t3h))), (t3a, (t3i, (t3j, t3k, t3k), (t3j, t3l, t3l)), (t3i, (t3m, t3n, t3n), (t3m, t3o, t3o)))), (t39, (t3p, (t3q, (t3r, t3s, t3s), (t3r, t3t, t3t)), (t3q, (t3u, t3v, t3v), (t3u, t3w, t3w))), (t3p, (t3x, (t3y, t3z, t3z), (t3y, t3A, t3A)), (t3x, (t3B, t3C, t3C), (t3B, t3D, t3D))))), (t38, (t3E, (t3F, (t3G, (t3H, t3I, t3I), (t3H, t3J, t3J)), (t3G, (t3K, t3L, t3L), (t3K, t3M, t3M))), (t3F, (t3N, (t3O, t3P, t3P), (t3O, t3Q, t3Q)), (t3N, (t3R, t3S, t3S), (t3R, t3T, t3T)))), (t3E, (t3U, (t3V, (t3W, t3X, t3X), (t3W, t3Y, t3Y)), (t3V, (t3Z, t40, t40), (t3Z, t41, t41))), (t3U, (t42, (t43, t44, t44), (t43, t45, t45)), (t42, (t46, t47, t47), (t46, t48, t48)))))))), (t4b, (t4c, (t4d, (t4e, (t4f, (t4g, (t4h, (t4i, t4j, t4j), (t4i, t4k, t4k)), (t4h, (t4l, t4m, t4m), (t4l, t4n, t4n))), (t4g, (t4o, (t4p, t4q, t4q), (t4p, t4r, t4r)), (t4o, (t4s, t4t, t4t), (t4s, t4u, t4u)))), (t4f, (t4v, (t4w, (t4x, t4y, t4y), (t4x, t4z, t4z)), (t4w, (t4A, t4B, t4B), (t4A, t4C, t4C))), (t4v, (t4D, (t4E, t4F, t4F), (t4E, t4G, t4G)), (t4D, (t4H, t4I, t4I), (t4H, t4J, t4J))))), (t4e, (t4K, (t4L, (t4M, (t4N, t4O, t4O), (t4N, t4P, t4P)), (t4M, (t4Q, t4R, t4R), (t4Q, t4S, t4S))), (t4L, (t4T, (t4U, t4V, t4V), (t4U, t4W, t4W)), (t4T, (t4X, t4Y, t4Y), (t4X, t4Z, t4Z)))), (t4K, (t50, (t51, (t52, t53, t53), (t52, t54, t54)), (t51, (t55, t56, t56), (t55, t57, t57))), (t50, (t58, (t59, t5a, t5a), (t59, t5b, t5b)), (t58, (t5c, t5d, t5d), (t5c, t5e, t5e)))))), (t4d, (t5f, (t5g, (t5h, (t5i, (t5j, t5k, t5k), (t5j, t5l, t5l)), (t5i, (t5m, t5n, t5n), (t5m, t5o, t5o))), (t5h, (t5p, (t5q, t5r, t5r), (t5q, t5s, t5s)), (t5p, (t5t, t5u, t5u), (t5t, t5v, t5v)))), (t5g, (t5w, (t5x, (t5y, t5z, t5z), (t5y, t5A, t5A)), (t5x, (t5B, t5C, t5C), (t5B, t5D, t5D))), (t5w, (t5E, (t5F, t5G, t5G), (t5F, t5H, t5H)), (t5E, (t5I, t5J, t5J), (t5I, t5K, t5K))))), (t5f, (t5L, (t5M, (t5N, (t5O, t5P, t5P), (t5O, t5Q, t5Q)), (t5N, (t5R, t5S, t5S), (t5R, t5T, t5T))), (t5M, (t5U, (t5V, t5W, t5W), (t5V, t5X, t5X)), (t5U, (t5Y, t5Z, t5Z), (t5Y, t60, t60)))), (t5L, (t61, (t62, (t63, t64, t64), (t63, t65, t65)), (t62, (t66, t67, t67), (t66, t68, t68))), (t61, (t69, (t6a, t6b, t6b), (t6a, t6c, t6c)), (t69, (t6d, t6e, t6e), (t6d, t6f, t6f))))))), (t4c, (t6g, (t6h, (t6i, (t6j, (t6k, (t6l, t6m, t6m), (t6l, t6n, t6n)), (t6k, (t6o, t6p, t6p), (t6o, t6q, t6q))), (t6j, (t6r, (t6s, t6t, t6t), (t6s, t6u, t6u)), (t6r, (t6v, t6w, t6w), (t6v, t6x, t6x)))), (t6i, (t6y, (t6z, (t6A, t6B, t6B), (t6A, t6C, t6C)), (t6z, (t6D, t6E, t6E), (t6D, t6F, t6F))), (t6y, (t6G, (t6H, t6I, t6I), (t6H, t6J, t6J)), (t6G, (t6K, t6L, t6L), (t6K, t6M, t6M))))), (t6h, (t6N, (t6O, (t6P, (t6Q, t6R, t6R), (t6Q, t6S, t6S)), (t6P, (t6T, t6U, t6U), (t6T, t6V, t6V))), (t6O, (t6W, (t6X, t6Y, t6Y), (t6X, t6Z, t6Z)), (t6W, (t70, t71, t71), (t70, t72, t72)))), (t6N, (t73, (t74, (t75, t76, t76), (t75, t77, t77)), (t74, (t78, t79, t79), (t78, t7a, t7a))), (t73, (t7b, (t7c, t7d, t7d), (t7c, t7e, t7e)), (t7b, (t7f, t7g, t7g), (t7f, t7h, t7h)))))), (t6g, (t7i, (t7j, (t7k, (t7l, (t7m, t7n, t7n), (t7m, t7o, t7o)), (t7l, (t7p, t7q, t7q), (t7p, t7r, t7r))), (t7k, (t7s, (t7t, t7u, t7u), (t7t, t7v, t7v)), (t7s, (t7w, t7x, t7x), (t7w, t7y, t7y)))), (t7j, (t7z, (t7A, (t7B, t7C, t7C), (t7B, t7D, t7D)), (t7A, (t7E, t7F, t7F), (t7E, t7G, t7G))), (t7z, (t7H, (t7I, t7J, t7J), (t7I, t7K, t7K)), (t7H, (t7L, t7M, t7M), (t7L, t7N, t7N))))), (t7i, (t7O, (t7P, (t7Q, (t7R, t7S, t7S), (t7R, t7T, t7T)), (t7Q, (t7U, t7V, t7V), (t7U, t7W, t7W))), (t7P, (t7X, (t7Y, t7Z, t7Z), (t7Y, t80, t80)), (t7X, (t81, t82, t82), (t81, t83, t83)))), (t7O, (t84, (t85, (t86, t87, t87), (t86, t88, t88)), (t85, (t89, t8a, t8a), (t89, t8b, t8b))), (t84, (t8c, (t8d, t8e, t8e), (t8d, t8f, t8f)), (t8c, (t8g, t8h, t8h), (t8g, t8i, t8i))))))))) -> a ;; -1 g_rec _:_ _forall_ [a b c d e f g h i j k] => (b -> c -> d -> j -> a) -> (g -> e -> h -> k -> a) -> f -> b -> (f, e, g) -> (i, j, k) -> i ;; -1 g_rec0 _:_ _forall_ [a] => a -> a -> a -> a -> a ;; -1 g_rec1 _:_ _forall_ [a b c] => c -> b -> (c, b, b) -> (a, b, b) -> a ;; -1 g_rec2 _:_ _forall_ [a b c d e f g] => g -> b -> (g, e, d) -> (a, (f, c, c), (f, e, e)) -> a ;; -1 g_rec3 _:_ _forall_ [a b c d e f g h i j k l] => l -> b -> (l, g, f) -> (a, (i, (d, e, e), (d, c, c)), (i, (j, k, k), (j, h, h))) -> a ;; -1 g_rec4 _:_ _forall_ [a b c d e f g h i j k l m n o p q r s t] => t -> b -> (t, k, j) -> (a, (l, (c, (d, e, e), (d, f, f)), (c, (g, h, h), (g, i, i))), (l, (m, (n, o, o), (n, p, p)), (m, (q, r, r), (q, s, s)))) -> a ;; -1 g_rec5 _:_ _forall_ [a b c d e f g h i j k l m n o p q r s t u v w x y z tq tr ts tt tu tv tw tx ty tz] => tz -> b -> (tz, s, r) -> (a, (t, (c, (d, (e, f, f), (e, g, g)), (d, (h, i, i), (h, j, j))), (c, (k, (l, m, m), (l, n, n)), (k, (o, p, p), (o, q, q)))), (t, (u, (v, (w, x, x), (w, y, y)), (v, (z, tq, tq), (z, tr, tr))), (u, (ts, (tt, tu, tu), (tt, tv, tv)), (ts, (tw, tx, tx), (tw, ty, ty))))) -> a ;; -1 g_rec6 _:_ _forall_ [a b c d e f g h i j k l m n o p q r s t u v w x y z tq tr ts tt tu tv tw tx ty tz tA tB tC tD tE tF tG tH tI tJ tK tL tM tN tO tP tQ tR tS tT tU tV tW tX tY tZ t10 t11 t12 t13 t14 t15] => t15 -> b -> (t15, ty, tx) -> (a, (tz, (c, (d, (e, (f, g, g), (f, h, h)), (e, (i, j, j), (i, k, k))), (d, (l, (m, n, n), (m, o, o)), (l, (p, q, q), (p, r, r)))), (c, (s, (t, (u, v, v), (u, w, w)), (t, (x, y, y), (x, z, z))), (s, (tq, (tr, ts, ts), (tr, tt, tt)), (tq, (tu, tv, tv), (tu, tw, tw))))), (tz, (tA, (tB, (tC, (tD, tE, tE), (tD, tF, tF)), (tC, (tG, tH, tH), (tG, tI, tI))), (tB, (tJ, (tK, tL, tL), (tK, tM, tM)), (tJ, (tN, tO, tO), (tN, tP, tP)))), (tA, (tQ, (tR, (tS, tT, tT), (tS, tU, tU)), (tR, (tV, tW, tW), (tV, tX, tX))), (tQ, (tY, (tZ, t10, t10), (tZ, t11, t11)), (tY, (t12, t13, t13), (t12, t14, t14)))))) -> a ;; -1 g_rec7 _:_ _forall_ [a b c d e f g h i j k l m n o p q r s t u v w x y z tq tr ts tt tu tv tw tx ty tz tA tB tC tD tE tF tG tH tI tJ tK tL tM tN tO tP tQ tR tS tT tU tV tW tX tY tZ t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t1a t1b t1c t1d t1e t1f t1g t1h t1i t1j t1k t1l t1m t1n t1o t1p t1q t1r t1s t1t t1u t1v t1w t1x t1y t1z t1A t1B t1C t1D t1E t1F t1G t1H t1I t1J t1K t1L t1M t1N t1O t1P t1Q t1R t1S t1T t1U t1V t1W t1X t1Y t1Z t20 t21 t22 t23 t24 t25 t26 t27] => t27 -> b -> (t27, t14, t13) -> (a, (t15, (c, (d, (e, (f, (g, h, h), (g, i, i)), (f, (j, k, k), (j, l, l))), (e, (m, (n, o, o), (n, p, p)), (m, (q, r, r), (q, s, s)))), (d, (t, (u, (v, w, w), (v, x, x)), (u, (y, z, z), (y, tq, tq))), (t, (tr, (ts, tt, tt), (ts, tu, tu)), (tr, (tv, tw, tw), (tv, tx, tx))))), (c, (ty, (tz, (tA, (tB, tC, tC), (tB, tD, tD)), (tA, (tE, tF, tF), (tE, tG, tG))), (tz, (tH, (tI, tJ, tJ), (tI, tK, tK)), (tH, (tL, tM, tM), (tL, tN, tN)))), (ty, (tO, (tP, (tQ, tR, tR), (tQ, tS, tS)), (tP, (tT, tU, tU), (tT, tV, tV))), (tO, (tW, (tX, tY, tY), (tX, tZ, tZ)), (tW, (t10, t11, t11), (t10, t12, t12)))))), (t15, (t16, (t17, (t18, (t19, (t1a, t1b, t1b), (t1a, t1c, t1c)), (t19, (t1d, t1e, t1e), (t1d, t1f, t1f))), (t18, (t1g, (t1h, t1i, t1i), (t1h, t1j, t1j)), (t1g, (t1k, t1l, t1l), (t1k, t1m, t1m)))), (t17, (t1n, (t1o, (t1p, t1q, t1q), (t1p, t1r, t1r)), (t1o, (t1s, t1t, t1t), (t1s, t1u, t1u))), (t1n, (t1v, (t1w, t1x, t1x), (t1w, t1y, t1y)), (t1v, (t1z, t1A, t1A), (t1z, t1B, t1B))))), (t16, (t1C, (t1D, (t1E, (t1F, t1G, t1G), (t1F, t1H, t1H)), (t1E, (t1I, t1J, t1J), (t1I, t1K, t1K))), (t1D, (t1L, (t1M, t1N, t1N), (t1M, t1O, t1O)), (t1L, (t1P, t1Q, t1Q), (t1P, t1R, t1R)))), (t1C, (t1S, (t1T, (t1U, t1V, t1V), (t1U, t1W, t1W)), (t1T, (t1X, t1Y, t1Y), (t1X, t1Z, t1Z))), (t1S, (t20, (t21, t22, t22), (t21, t23, t23)), (t20, (t24, t25, t25), (t24, t26, t26))))))) -> a ;; -1 g_rec8 _:_ _forall_ [a b c d e f g h i j k l m n o p q r s t u v w x y z tq tr ts tt tu tv tw tx ty tz tA tB tC tD tE tF tG tH tI tJ tK tL tM tN tO tP tQ tR tS tT tU tV tW tX tY tZ t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t1a t1b t1c t1d t1e t1f t1g t1h t1i t1j t1k t1l t1m t1n t1o t1p t1q t1r t1s t1t t1u t1v t1w t1x t1y t1z t1A t1B t1C t1D t1E t1F t1G t1H t1I t1J t1K t1L t1M t1N t1O t1P t1Q t1R t1S t1T t1U t1V t1W t1X t1Y t1Z t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t2a t2b t2c t2d t2e t2f t2g t2h t2i t2j t2k t2l t2m t2n t2o t2p t2q t2r t2s t2t t2u t2v t2w t2x t2y t2z t2A t2B t2C t2D t2E t2F t2G t2H t2I t2J t2K t2L t2M t2N t2O t2P t2Q t2R t2S t2T t2U t2V t2W t2X t2Y t2Z t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t3a t3b t3c t3d t3e t3f t3g t3h t3i t3j t3k t3l t3m t3n t3o t3p t3q t3r t3s t3t t3u t3v t3w t3x t3y t3z t3A t3B t3C t3D t3E t3F t3G t3H t3I t3J t3K t3L t3M t3N t3O t3P t3Q t3R t3S t3T t3U t3V t3W t3X t3Y t3Z t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t4a t4b] => t4b -> b -> (t4b, t26, t25) -> (a, (t27, (c, (d, (e, (f, (g, (h, i, i), (h, j, j)), (g, (k, l, l), (k, m, m))), (f, (n, (o, p, p), (o, q, q)), (n, (r, s, s), (r, t, t)))), (e, (u, (v, (w, x, x), (w, y, y)), (v, (z, tq, tq), (z, tr, tr))), (u, (ts, (tt, tu, tu), (tt, tv, tv)), (ts, (tw, tx, tx), (tw, ty, ty))))), (d, (tz, (tA, (tB, (tC, tD, tD), (tC, tE, tE)), (tB, (tF, tG, tG), (tF, tH, tH))), (tA, (tI, (tJ, tK, tK), (tJ, tL, tL)), (tI, (tM, tN, tN), (tM, tO, tO)))), (tz, (tP, (tQ, (tR, tS, tS), (tR, tT, tT)), (tQ, (tU, tV, tV), (tU, tW, tW))), (tP, (tX, (tY, tZ, tZ), (tY, t10, t10)), (tX, (t11, t12, t12), (t11, t13, t13)))))), (c, (t14, (t15, (t16, (t17, (t18, t19, t19), (t18, t1a, t1a)), (t17, (t1b, t1c, t1c), (t1b, t1d, t1d))), (t16, (t1e, (t1f, t1g, t1g), (t1f, t1h, t1h)), (t1e, (t1i, t1j, t1j), (t1i, t1k, t1k)))), (t15, (t1l, (t1m, (t1n, t1o, t1o), (t1n, t1p, t1p)), (t1m, (t1q, t1r, t1r), (t1q, t1s, t1s))), (t1l, (t1t, (t1u, t1v, t1v), (t1u, t1w, t1w)), (t1t, (t1x, t1y, t1y), (t1x, t1z, t1z))))), (t14, (t1A, (t1B, (t1C, (t1D, t1E, t1E), (t1D, t1F, t1F)), (t1C, (t1G, t1H, t1H), (t1G, t1I, t1I))), (t1B, (t1J, (t1K, t1L, t1L), (t1K, t1M, t1M)), (t1J, (t1N, t1O, t1O), (t1N, t1P, t1P)))), (t1A, (t1Q, (t1R, (t1S, t1T, t1T), (t1S, t1U, t1U)), (t1R, (t1V, t1W, t1W), (t1V, t1X, t1X))), (t1Q, (t1Y, (t1Z, t20, t20), (t1Z, t21, t21)), (t1Y, (t22, t23, t23), (t22, t24, t24))))))), (t27, (t28, (t29, (t2a, (t2b, (t2c, (t2d, t2e, t2e), (t2d, t2f, t2f)), (t2c, (t2g, t2h, t2h), (t2g, t2i, t2i))), (t2b, (t2j, (t2k, t2l, t2l), (t2k, t2m, t2m)), (t2j, (t2n, t2o, t2o), (t2n, t2p, t2p)))), (t2a, (t2q, (t2r, (t2s, t2t, t2t), (t2s, t2u, t2u)), (t2r, (t2v, t2w, t2w), (t2v, t2x, t2x))), (t2q, (t2y, (t2z, t2A, t2A), (t2z, t2B, t2B)), (t2y, (t2C, t2D, t2D), (t2C, t2E, t2E))))), (t29, (t2F, (t2G, (t2H, (t2I, t2J, t2J), (t2I, t2K, t2K)), (t2H, (t2L, t2M, t2M), (t2L, t2N, t2N))), (t2G, (t2O, (t2P, t2Q, t2Q), (t2P, t2R, t2R)), (t2O, (t2S, t2T, t2T), (t2S, t2U, t2U)))), (t2F, (t2V, (t2W, (t2X, t2Y, t2Y), (t2X, t2Z, t2Z)), (t2W, (t30, t31, t31), (t30, t32, t32))), (t2V, (t33, (t34, t35, t35), (t34, t36, t36)), (t33, (t37, t38, t38), (t37, t39, t39)))))), (t28, (t3a, (t3b, (t3c, (t3d, (t3e, t3f, t3f), (t3e, t3g, t3g)), (t3d, (t3h, t3i, t3i), (t3h, t3j, t3j))), (t3c, (t3k, (t3l, t3m, t3m), (t3l, t3n, t3n)), (t3k, (t3o, t3p, t3p), (t3o, t3q, t3q)))), (t3b, (t3r, (t3s, (t3t, t3u, t3u), (t3t, t3v, t3v)), (t3s, (t3w, t3x, t3x), (t3w, t3y, t3y))), (t3r, (t3z, (t3A, t3B, t3B), (t3A, t3C, t3C)), (t3z, (t3D, t3E, t3E), (t3D, t3F, t3F))))), (t3a, (t3G, (t3H, (t3I, (t3J, t3K, t3K), (t3J, t3L, t3L)), (t3I, (t3M, t3N, t3N), (t3M, t3O, t3O))), (t3H, (t3P, (t3Q, t3R, t3R), (t3Q, t3S, t3S)), (t3P, (t3T, t3U, t3U), (t3T, t3V, t3V)))), (t3G, (t3W, (t3X, (t3Y, t3Z, t3Z), (t3Y, t40, t40)), (t3X, (t41, t42, t42), (t41, t43, t43))), (t3W, (t44, (t45, t46, t46), (t45, t47, t47)), (t44, (t48, t49, t49), (t48, t4a, t4a)))))))) -> a ;; -1 head _:_ _forall_ [a] => [a] -> a ;; -1 one _:_ _forall_ [a] => a ;; -1 s_1_0 _:_ _forall_ [a] => a -> a ;; -1 s_2_0 _:_ _forall_ [a b] => (a, b) -> a ;; -1 s_2_1 _:_ _forall_ [a b] => (a, b) -> b ;; -1 s_3_0 _:_ _forall_ [a b c] => (a, b, c) -> a ;; -1 s_3_1 _:_ _forall_ [a b c] => (a, b, c) -> b ;; -1 s_3_2 _:_ _forall_ [a b c] => (a, b, c) -> c ;; +1 absAnd _:_ _forall_ [$a] => $a -> $a -> $a ;; +1 absIf _:_ _forall_ [$a $b $c] => $c -> $a -> $b -> $c ;; +1 bottom _:_ _forall_ [$a] => [$a] -> $a ;; +1 f _:_ _forall_ [$a] => $a -> $a ;; +1 f_rec _:_ _forall_ [$a $b] => ($b -> $a) -> $b -> $a ;; +1 f_rec0 _:_ _forall_ [$a] => $a -> $a ;; +1 f_rec1 _:_ _forall_ [$a] => $a -> $a ;; +1 f_rec2 _:_ _forall_ [$a] => $a -> $a ;; +1 fac _:_ _forall_ [$a $b $c $d $e $f $g $h $i $j $k] => ($a, ($i, ($b, ($c, ($d, $e)))), ($j, ($b, ($c, ($d, $e))), ($f, ($c, ($d, $e)), ($g, ($d, $e), ($h, $e, $e))))) -> ($k, ($i, ($b, ($c, ($d, $e))))) -> $a ;; +1 fac_rec _:_ _forall_ [$a $b $c $d $e] => ($d -> $b -> $a) -> ($c, $b, $d) -> ($e, $b) -> $c ;; +1 fac_rec0 _:_ _forall_ [$a] => $a -> $a -> $a ;; +1 fac_rec1 _:_ _forall_ [$a $b $c] => ($a, $b, $b) -> ($c, $b) -> $a ;; +1 fac_rec2 _:_ _forall_ [$a $b $c $d $e] => ($a, ($c, $b), ($d, $b, $b)) -> ($e, ($c, $b)) -> $a ;; +1 fac_rec3 _:_ _forall_ [$a $b $c $d $e $f $g] => ($a, ($e, ($b, $c)), ($f, ($b, $c), ($d, $c, $c))) -> ($g, ($e, ($b, $c))) -> $a ;; +1 fac_rec4 _:_ _forall_ [$a $b $c $d $e $f $g $h $i] => ($a, ($g, ($b, ($c, $d))), ($h, ($b, ($c, $d)), ($e, ($c, $d), ($f, $d, $d)))) -> ($i, ($g, ($b, ($c, $d)))) -> $a ;; +1 g _:_ _forall_ [$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $tq $tr $ts $tt $tu $tv $tw $tx $ty $tz $tA $tB $tC $tD $tE $tF $tG $tH $tI $tJ $tK $tL $tM $tN $tO $tP $tQ $tR $tS $tT $tU $tV $tW $tX $tY $tZ $t10 $t11 $t12 $t13 $t14 $t15 $t16 $t17 $t18 $t19 $t1a $t1b $t1c $t1d $t1e $t1f $t1g $t1h $t1i $t1j $t1k $t1l $t1m $t1n $t1o $t1p $t1q $t1r $t1s $t1t $t1u $t1v $t1w $t1x $t1y $t1z $t1A $t1B $t1C $t1D $t1E $t1F $t1G $t1H $t1I $t1J $t1K $t1L $t1M $t1N $t1O $t1P $t1Q $t1R $t1S $t1T $t1U $t1V $t1W $t1X $t1Y $t1Z $t20 $t21 $t22 $t23 $t24 $t25 $t26 $t27 $t28 $t29 $t2a $t2b $t2c $t2d $t2e $t2f $t2g $t2h $t2i $t2j $t2k $t2l $t2m $t2n $t2o $t2p $t2q $t2r $t2s $t2t $t2u $t2v $t2w $t2x $t2y $t2z $t2A $t2B $t2C $t2D $t2E $t2F $t2G $t2H $t2I $t2J $t2K $t2L $t2M $t2N $t2O $t2P $t2Q $t2R $t2S $t2T $t2U $t2V $t2W $t2X $t2Y $t2Z $t30 $t31 $t32 $t33 $t34 $t35 $t36 $t37 $t38 $t39 $t3a $t3b $t3c $t3d $t3e $t3f $t3g $t3h $t3i $t3j $t3k $t3l $t3m $t3n $t3o $t3p $t3q $t3r $t3s $t3t $t3u $t3v $t3w $t3x $t3y $t3z $t3A $t3B $t3C $t3D $t3E $t3F $t3G $t3H $t3I $t3J $t3K $t3L $t3M $t3N $t3O $t3P $t3Q $t3R $t3S $t3T $t3U $t3V $t3W $t3X $t3Y $t3Z $t40 $t41 $t42 $t43 $t44 $t45 $t46 $t47 $t48 $t49 $t4a $t4b $t4c $t4d $t4e $t4f $t4g $t4h $t4i $t4j $t4k $t4l $t4m $t4n $t4o $t4p $t4q $t4r $t4s $t4t $t4u $t4v $t4w $t4x $t4y $t4z $t4A $t4B $t4C $t4D $t4E $t4F $t4G $t4H $t4I $t4J $t4K $t4L $t4M $t4N $t4O $t4P $t4Q $t4R $t4S $t4T $t4U $t4V $t4W $t4X $t4Y $t4Z $t50 $t51 $t52 $t53 $t54 $t55 $t56 $t57 $t58 $t59 $t5a $t5b $t5c $t5d $t5e $t5f $t5g $t5h $t5i $t5j $t5k $t5l $t5m $t5n $t5o $t5p $t5q $t5r $t5s $t5t $t5u $t5v $t5w $t5x $t5y $t5z $t5A $t5B $t5C $t5D $t5E $t5F $t5G $t5H $t5I $t5J $t5K $t5L $t5M $t5N $t5O $t5P $t5Q $t5R $t5S $t5T $t5U $t5V $t5W $t5X $t5Y $t5Z $t60 $t61 $t62 $t63 $t64 $t65 $t66 $t67 $t68 $t69 $t6a $t6b $t6c $t6d $t6e $t6f $t6g $t6h $t6i $t6j $t6k $t6l $t6m $t6n $t6o $t6p $t6q $t6r $t6s $t6t $t6u $t6v $t6w $t6x $t6y $t6z $t6A $t6B $t6C $t6D $t6E $t6F $t6G $t6H $t6I $t6J $t6K $t6L $t6M $t6N $t6O $t6P $t6Q $t6R $t6S $t6T $t6U $t6V $t6W $t6X $t6Y $t6Z $t70 $t71 $t72 $t73 $t74 $t75 $t76 $t77 $t78 $t79 $t7a $t7b $t7c $t7d $t7e $t7f $t7g $t7h $t7i $t7j $t7k $t7l $t7m $t7n $t7o $t7p $t7q $t7r $t7s $t7t $t7u $t7v $t7w $t7x $t7y $t7z $t7A $t7B $t7C $t7D $t7E $t7F $t7G $t7H $t7I $t7J $t7K $t7L $t7M $t7N $t7O $t7P $t7Q $t7R $t7S $t7T $t7U $t7V $t7W $t7X $t7Y $t7Z $t80 $t81 $t82 $t83 $t84 $t85 $t86 $t87 $t88 $t89 $t8a $t8b $t8c $t8d $t8e $t8f $t8g $t8h $t8i $t8j] => $t8j -> $b -> ($t8j, $t4b, $t4a) -> ($a, ($t49, ($c, ($d, ($e, ($f, ($g, ($h, ($i, $j, $j), ($i, $k, $k)), ($h, ($l, $m, $m), ($l, $n, $n))), ($g, ($o, ($p, $q, $q), ($p, $r, $r)), ($o, ($s, $t, $t), ($s, $u, $u)))), ($f, ($v, ($w, ($x, $y, $y), ($x, $z, $z)), ($w, ($tq, $tr, $tr), ($tq, $ts, $ts))), ($v, ($tt, ($tu, $tv, $tv), ($tu, $tw, $tw)), ($tt, ($tx, $ty, $ty), ($tx, $tz, $tz))))), ($e, ($tA, ($tB, ($tC, ($tD, $tE, $tE), ($tD, $tF, $tF)), ($tC, ($tG, $tH, $tH), ($tG, $tI, $tI))), ($tB, ($tJ, ($tK, $tL, $tL), ($tK, $tM, $tM)), ($tJ, ($tN, $tO, $tO), ($tN, $tP, $tP)))), ($tA, ($tQ, ($tR, ($tS, $tT, $tT), ($tS, $tU, $tU)), ($tR, ($tV, $tW, $tW), ($tV, $tX, $tX))), ($tQ, ($tY, ($tZ, $t10, $t10), ($tZ, $t11, $t11)), ($tY, ($t12, $t13, $t13), ($t12, $t14, $t14)))))), ($d, ($t15, ($t16, ($t17, ($t18, ($t19, $t1a, $t1a), ($t19, $t1b, $t1b)), ($t18, ($t1c, $t1d, $t1d), ($t1c, $t1e, $t1e))), ($t17, ($t1f, ($t1g, $t1h, $t1h), ($t1g, $t1i, $t1i)), ($t1f, ($t1j, $t1k, $t1k), ($t1j, $t1l, $t1l)))), ($t16, ($t1m, ($t1n, ($t1o, $t1p, $t1p), ($t1o, $t1q, $t1q)), ($t1n, ($t1r, $t1s, $t1s), ($t1r, $t1t, $t1t))), ($t1m, ($t1u, ($t1v, $t1w, $t1w), ($t1v, $t1x, $t1x)), ($t1u, ($t1y, $t1z, $t1z), ($t1y, $t1A, $t1A))))), ($t15, ($t1B, ($t1C, ($t1D, ($t1E, $t1F, $t1F), ($t1E, $t1G, $t1G)), ($t1D, ($t1H, $t1I, $t1I), ($t1H, $t1J, $t1J))), ($t1C, ($t1K, ($t1L, $t1M, $t1M), ($t1L, $t1N, $t1N)), ($t1K, ($t1O, $t1P, $t1P), ($t1O, $t1Q, $t1Q)))), ($t1B, ($t1R, ($t1S, ($t1T, $t1U, $t1U), ($t1T, $t1V, $t1V)), ($t1S, ($t1W, $t1X, $t1X), ($t1W, $t1Y, $t1Y))), ($t1R, ($t1Z, ($t20, $t21, $t21), ($t20, $t22, $t22)), ($t1Z, ($t23, $t24, $t24), ($t23, $t25, $t25))))))), ($c, ($t26, ($t27, ($t28, ($t29, ($t2a, ($t2b, $t2c, $t2c), ($t2b, $t2d, $t2d)), ($t2a, ($t2e, $t2f, $t2f), ($t2e, $t2g, $t2g))), ($t29, ($t2h, ($t2i, $t2j, $t2j), ($t2i, $t2k, $t2k)), ($t2h, ($t2l, $t2m, $t2m), ($t2l, $t2n, $t2n)))), ($t28, ($t2o, ($t2p, ($t2q, $t2r, $t2r), ($t2q, $t2s, $t2s)), ($t2p, ($t2t, $t2u, $t2u), ($t2t, $t2v, $t2v))), ($t2o, ($t2w, ($t2x, $t2y, $t2y), ($t2x, $t2z, $t2z)), ($t2w, ($t2A, $t2B, $t2B), ($t2A, $t2C, $t2C))))), ($t27, ($t2D, ($t2E, ($t2F, ($t2G, $t2H, $t2H), ($t2G, $t2I, $t2I)), ($t2F, ($t2J, $t2K, $t2K), ($t2J, $t2L, $t2L))), ($t2E, ($t2M, ($t2N, $t2O, $t2O), ($t2N, $t2P, $t2P)), ($t2M, ($t2Q, $t2R, $t2R), ($t2Q, $t2S, $t2S)))), ($t2D, ($t2T, ($t2U, ($t2V, $t2W, $t2W), ($t2V, $t2X, $t2X)), ($t2U, ($t2Y, $t2Z, $t2Z), ($t2Y, $t30, $t30))), ($t2T, ($t31, ($t32, $t33, $t33), ($t32, $t34, $t34)), ($t31, ($t35, $t36, $t36), ($t35, $t37, $t37)))))), ($t26, ($t38, ($t39, ($t3a, ($t3b, ($t3c, $t3d, $t3d), ($t3c, $t3e, $t3e)), ($t3b, ($t3f, $t3g, $t3g), ($t3f, $t3h, $t3h))), ($t3a, ($t3i, ($t3j, $t3k, $t3k), ($t3j, $t3l, $t3l)), ($t3i, ($t3m, $t3n, $t3n), ($t3m, $t3o, $t3o)))), ($t39, ($t3p, ($t3q, ($t3r, $t3s, $t3s), ($t3r, $t3t, $t3t)), ($t3q, ($t3u, $t3v, $t3v), ($t3u, $t3w, $t3w))), ($t3p, ($t3x, ($t3y, $t3z, $t3z), ($t3y, $t3A, $t3A)), ($t3x, ($t3B, $t3C, $t3C), ($t3B, $t3D, $t3D))))), ($t38, ($t3E, ($t3F, ($t3G, ($t3H, $t3I, $t3I), ($t3H, $t3J, $t3J)), ($t3G, ($t3K, $t3L, $t3L), ($t3K, $t3M, $t3M))), ($t3F, ($t3N, ($t3O, $t3P, $t3P), ($t3O, $t3Q, $t3Q)), ($t3N, ($t3R, $t3S, $t3S), ($t3R, $t3T, $t3T)))), ($t3E, ($t3U, ($t3V, ($t3W, $t3X, $t3X), ($t3W, $t3Y, $t3Y)), ($t3V, ($t3Z, $t40, $t40), ($t3Z, $t41, $t41))), ($t3U, ($t42, ($t43, $t44, $t44), ($t43, $t45, $t45)), ($t42, ($t46, $t47, $t47), ($t46, $t48, $t48)))))))), ($t49, ($t4c, ($t4d, ($t4e, ($t4f, ($t4g, ($t4h, ($t4i, $t4j, $t4j), ($t4i, $t4k, $t4k)), ($t4h, ($t4l, $t4m, $t4m), ($t4l, $t4n, $t4n))), ($t4g, ($t4o, ($t4p, $t4q, $t4q), ($t4p, $t4r, $t4r)), ($t4o, ($t4s, $t4t, $t4t), ($t4s, $t4u, $t4u)))), ($t4f, ($t4v, ($t4w, ($t4x, $t4y, $t4y), ($t4x, $t4z, $t4z)), ($t4w, ($t4A, $t4B, $t4B), ($t4A, $t4C, $t4C))), ($t4v, ($t4D, ($t4E, $t4F, $t4F), ($t4E, $t4G, $t4G)), ($t4D, ($t4H, $t4I, $t4I), ($t4H, $t4J, $t4J))))), ($t4e, ($t4K, ($t4L, ($t4M, ($t4N, $t4O, $t4O), ($t4N, $t4P, $t4P)), ($t4M, ($t4Q, $t4R, $t4R), ($t4Q, $t4S, $t4S))), ($t4L, ($t4T, ($t4U, $t4V, $t4V), ($t4U, $t4W, $t4W)), ($t4T, ($t4X, $t4Y, $t4Y), ($t4X, $t4Z, $t4Z)))), ($t4K, ($t50, ($t51, ($t52, $t53, $t53), ($t52, $t54, $t54)), ($t51, ($t55, $t56, $t56), ($t55, $t57, $t57))), ($t50, ($t58, ($t59, $t5a, $t5a), ($t59, $t5b, $t5b)), ($t58, ($t5c, $t5d, $t5d), ($t5c, $t5e, $t5e)))))), ($t4d, ($t5f, ($t5g, ($t5h, ($t5i, ($t5j, $t5k, $t5k), ($t5j, $t5l, $t5l)), ($t5i, ($t5m, $t5n, $t5n), ($t5m, $t5o, $t5o))), ($t5h, ($t5p, ($t5q, $t5r, $t5r), ($t5q, $t5s, $t5s)), ($t5p, ($t5t, $t5u, $t5u), ($t5t, $t5v, $t5v)))), ($t5g, ($t5w, ($t5x, ($t5y, $t5z, $t5z), ($t5y, $t5A, $t5A)), ($t5x, ($t5B, $t5C, $t5C), ($t5B, $t5D, $t5D))), ($t5w, ($t5E, ($t5F, $t5G, $t5G), ($t5F, $t5H, $t5H)), ($t5E, ($t5I, $t5J, $t5J), ($t5I, $t5K, $t5K))))), ($t5f, ($t5L, ($t5M, ($t5N, ($t5O, $t5P, $t5P), ($t5O, $t5Q, $t5Q)), ($t5N, ($t5R, $t5S, $t5S), ($t5R, $t5T, $t5T))), ($t5M, ($t5U, ($t5V, $t5W, $t5W), ($t5V, $t5X, $t5X)), ($t5U, ($t5Y, $t5Z, $t5Z), ($t5Y, $t60, $t60)))), ($t5L, ($t61, ($t62, ($t63, $t64, $t64), ($t63, $t65, $t65)), ($t62, ($t66, $t67, $t67), ($t66, $t68, $t68))), ($t61, ($t69, ($t6a, $t6b, $t6b), ($t6a, $t6c, $t6c)), ($t69, ($t6d, $t6e, $t6e), ($t6d, $t6f, $t6f))))))), ($t4c, ($t6g, ($t6h, ($t6i, ($t6j, ($t6k, ($t6l, $t6m, $t6m), ($t6l, $t6n, $t6n)), ($t6k, ($t6o, $t6p, $t6p), ($t6o, $t6q, $t6q))), ($t6j, ($t6r, ($t6s, $t6t, $t6t), ($t6s, $t6u, $t6u)), ($t6r, ($t6v, $t6w, $t6w), ($t6v, $t6x, $t6x)))), ($t6i, ($t6y, ($t6z, ($t6A, $t6B, $t6B), ($t6A, $t6C, $t6C)), ($t6z, ($t6D, $t6E, $t6E), ($t6D, $t6F, $t6F))), ($t6y, ($t6G, ($t6H, $t6I, $t6I), ($t6H, $t6J, $t6J)), ($t6G, ($t6K, $t6L, $t6L), ($t6K, $t6M, $t6M))))), ($t6h, ($t6N, ($t6O, ($t6P, ($t6Q, $t6R, $t6R), ($t6Q, $t6S, $t6S)), ($t6P, ($t6T, $t6U, $t6U), ($t6T, $t6V, $t6V))), ($t6O, ($t6W, ($t6X, $t6Y, $t6Y), ($t6X, $t6Z, $t6Z)), ($t6W, ($t70, $t71, $t71), ($t70, $t72, $t72)))), ($t6N, ($t73, ($t74, ($t75, $t76, $t76), ($t75, $t77, $t77)), ($t74, ($t78, $t79, $t79), ($t78, $t7a, $t7a))), ($t73, ($t7b, ($t7c, $t7d, $t7d), ($t7c, $t7e, $t7e)), ($t7b, ($t7f, $t7g, $t7g), ($t7f, $t7h, $t7h)))))), ($t6g, ($t7i, ($t7j, ($t7k, ($t7l, ($t7m, $t7n, $t7n), ($t7m, $t7o, $t7o)), ($t7l, ($t7p, $t7q, $t7q), ($t7p, $t7r, $t7r))), ($t7k, ($t7s, ($t7t, $t7u, $t7u), ($t7t, $t7v, $t7v)), ($t7s, ($t7w, $t7x, $t7x), ($t7w, $t7y, $t7y)))), ($t7j, ($t7z, ($t7A, ($t7B, $t7C, $t7C), ($t7B, $t7D, $t7D)), ($t7A, ($t7E, $t7F, $t7F), ($t7E, $t7G, $t7G))), ($t7z, ($t7H, ($t7I, $t7J, $t7J), ($t7I, $t7K, $t7K)), ($t7H, ($t7L, $t7M, $t7M), ($t7L, $t7N, $t7N))))), ($t7i, ($t7O, ($t7P, ($t7Q, ($t7R, $t7S, $t7S), ($t7R, $t7T, $t7T)), ($t7Q, ($t7U, $t7V, $t7V), ($t7U, $t7W, $t7W))), ($t7P, ($t7X, ($t7Y, $t7Z, $t7Z), ($t7Y, $t80, $t80)), ($t7X, ($t81, $t82, $t82), ($t81, $t83, $t83)))), ($t7O, ($t84, ($t85, ($t86, $t87, $t87), ($t86, $t88, $t88)), ($t85, ($t89, $t8a, $t8a), ($t89, $t8b, $t8b))), ($t84, ($t8c, ($t8d, $t8e, $t8e), ($t8d, $t8f, $t8f)), ($t8c, ($t8g, $t8h, $t8h), ($t8g, $t8i, $t8i))))))))) -> $a ;; +1 g_rec _:_ _forall_ [$a $b $c $d $e $f $g $h $i $j $k] => ($b -> $c -> $d -> $k -> $a) -> ($g -> $e -> $h -> $i -> $a) -> $f -> $b -> ($f, $e, $g) -> ($j, $k, $i) -> $j ;; +1 g_rec0 _:_ _forall_ [$a] => $a -> $a -> $a -> $a -> $a ;; +1 g_rec1 _:_ _forall_ [$a $b $c] => $c -> $b -> ($c, $b, $b) -> ($a, $b, $b) -> $a ;; +1 g_rec2 _:_ _forall_ [$a $b $c $d $e $f $g] => $g -> $b -> ($g, $f, $e) -> ($a, ($d, $c, $c), ($d, $f, $f)) -> $a ;; +1 g_rec3 _:_ _forall_ [$a $b $c $d $e $f $g $h $i $j $k $l] => $l -> $b -> ($l, $h, $g) -> ($a, ($f, ($d, $e, $e), ($d, $c, $c)), ($f, ($j, $k, $k), ($j, $i, $i))) -> $a ;; +1 g_rec4 _:_ _forall_ [$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t] => $t -> $b -> ($t, $l, $k) -> ($a, ($j, ($c, ($d, $e, $e), ($d, $f, $f)), ($c, ($g, $h, $h), ($g, $i, $i))), ($j, ($m, ($n, $o, $o), ($n, $p, $p)), ($m, ($q, $r, $r), ($q, $s, $s)))) -> $a ;; +1 g_rec5 _:_ _forall_ [$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $tq $tr $ts $tt $tu $tv $tw $tx $ty $tz] => $tz -> $b -> ($tz, $t, $s) -> ($a, ($r, ($c, ($d, ($e, $f, $f), ($e, $g, $g)), ($d, ($h, $i, $i), ($h, $j, $j))), ($c, ($k, ($l, $m, $m), ($l, $n, $n)), ($k, ($o, $p, $p), ($o, $q, $q)))), ($r, ($u, ($v, ($w, $x, $x), ($w, $y, $y)), ($v, ($z, $tq, $tq), ($z, $tr, $tr))), ($u, ($ts, ($tt, $tu, $tu), ($tt, $tv, $tv)), ($ts, ($tw, $tx, $tx), ($tw, $ty, $ty))))) -> $a ;; +1 g_rec6 _:_ _forall_ [$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $tq $tr $ts $tt $tu $tv $tw $tx $ty $tz $tA $tB $tC $tD $tE $tF $tG $tH $tI $tJ $tK $tL $tM $tN $tO $tP $tQ $tR $tS $tT $tU $tV $tW $tX $tY $tZ $t10 $t11 $t12 $t13 $t14 $t15] => $t15 -> $b -> ($t15, $tz, $ty) -> ($a, ($tx, ($c, ($d, ($e, ($f, $g, $g), ($f, $h, $h)), ($e, ($i, $j, $j), ($i, $k, $k))), ($d, ($l, ($m, $n, $n), ($m, $o, $o)), ($l, ($p, $q, $q), ($p, $r, $r)))), ($c, ($s, ($t, ($u, $v, $v), ($u, $w, $w)), ($t, ($x, $y, $y), ($x, $z, $z))), ($s, ($tq, ($tr, $ts, $ts), ($tr, $tt, $tt)), ($tq, ($tu, $tv, $tv), ($tu, $tw, $tw))))), ($tx, ($tA, ($tB, ($tC, ($tD, $tE, $tE), ($tD, $tF, $tF)), ($tC, ($tG, $tH, $tH), ($tG, $tI, $tI))), ($tB, ($tJ, ($tK, $tL, $tL), ($tK, $tM, $tM)), ($tJ, ($tN, $tO, $tO), ($tN, $tP, $tP)))), ($tA, ($tQ, ($tR, ($tS, $tT, $tT), ($tS, $tU, $tU)), ($tR, ($tV, $tW, $tW), ($tV, $tX, $tX))), ($tQ, ($tY, ($tZ, $t10, $t10), ($tZ, $t11, $t11)), ($tY, ($t12, $t13, $t13), ($t12, $t14, $t14)))))) -> $a ;; +1 g_rec7 _:_ _forall_ [$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $tq $tr $ts $tt $tu $tv $tw $tx $ty $tz $tA $tB $tC $tD $tE $tF $tG $tH $tI $tJ $tK $tL $tM $tN $tO $tP $tQ $tR $tS $tT $tU $tV $tW $tX $tY $tZ $t10 $t11 $t12 $t13 $t14 $t15 $t16 $t17 $t18 $t19 $t1a $t1b $t1c $t1d $t1e $t1f $t1g $t1h $t1i $t1j $t1k $t1l $t1m $t1n $t1o $t1p $t1q $t1r $t1s $t1t $t1u $t1v $t1w $t1x $t1y $t1z $t1A $t1B $t1C $t1D $t1E $t1F $t1G $t1H $t1I $t1J $t1K $t1L $t1M $t1N $t1O $t1P $t1Q $t1R $t1S $t1T $t1U $t1V $t1W $t1X $t1Y $t1Z $t20 $t21 $t22 $t23 $t24 $t25 $t26 $t27] => $t27 -> $b -> ($t27, $t15, $t14) -> ($a, ($t13, ($c, ($d, ($e, ($f, ($g, $h, $h), ($g, $i, $i)), ($f, ($j, $k, $k), ($j, $l, $l))), ($e, ($m, ($n, $o, $o), ($n, $p, $p)), ($m, ($q, $r, $r), ($q, $s, $s)))), ($d, ($t, ($u, ($v, $w, $w), ($v, $x, $x)), ($u, ($y, $z, $z), ($y, $tq, $tq))), ($t, ($tr, ($ts, $tt, $tt), ($ts, $tu, $tu)), ($tr, ($tv, $tw, $tw), ($tv, $tx, $tx))))), ($c, ($ty, ($tz, ($tA, ($tB, $tC, $tC), ($tB, $tD, $tD)), ($tA, ($tE, $tF, $tF), ($tE, $tG, $tG))), ($tz, ($tH, ($tI, $tJ, $tJ), ($tI, $tK, $tK)), ($tH, ($tL, $tM, $tM), ($tL, $tN, $tN)))), ($ty, ($tO, ($tP, ($tQ, $tR, $tR), ($tQ, $tS, $tS)), ($tP, ($tT, $tU, $tU), ($tT, $tV, $tV))), ($tO, ($tW, ($tX, $tY, $tY), ($tX, $tZ, $tZ)), ($tW, ($t10, $t11, $t11), ($t10, $t12, $t12)))))), ($t13, ($t16, ($t17, ($t18, ($t19, ($t1a, $t1b, $t1b), ($t1a, $t1c, $t1c)), ($t19, ($t1d, $t1e, $t1e), ($t1d, $t1f, $t1f))), ($t18, ($t1g, ($t1h, $t1i, $t1i), ($t1h, $t1j, $t1j)), ($t1g, ($t1k, $t1l, $t1l), ($t1k, $t1m, $t1m)))), ($t17, ($t1n, ($t1o, ($t1p, $t1q, $t1q), ($t1p, $t1r, $t1r)), ($t1o, ($t1s, $t1t, $t1t), ($t1s, $t1u, $t1u))), ($t1n, ($t1v, ($t1w, $t1x, $t1x), ($t1w, $t1y, $t1y)), ($t1v, ($t1z, $t1A, $t1A), ($t1z, $t1B, $t1B))))), ($t16, ($t1C, ($t1D, ($t1E, ($t1F, $t1G, $t1G), ($t1F, $t1H, $t1H)), ($t1E, ($t1I, $t1J, $t1J), ($t1I, $t1K, $t1K))), ($t1D, ($t1L, ($t1M, $t1N, $t1N), ($t1M, $t1O, $t1O)), ($t1L, ($t1P, $t1Q, $t1Q), ($t1P, $t1R, $t1R)))), ($t1C, ($t1S, ($t1T, ($t1U, $t1V, $t1V), ($t1U, $t1W, $t1W)), ($t1T, ($t1X, $t1Y, $t1Y), ($t1X, $t1Z, $t1Z))), ($t1S, ($t20, ($t21, $t22, $t22), ($t21, $t23, $t23)), ($t20, ($t24, $t25, $t25), ($t24, $t26, $t26))))))) -> $a ;; +1 g_rec8 _:_ _forall_ [$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $tq $tr $ts $tt $tu $tv $tw $tx $ty $tz $tA $tB $tC $tD $tE $tF $tG $tH $tI $tJ $tK $tL $tM $tN $tO $tP $tQ $tR $tS $tT $tU $tV $tW $tX $tY $tZ $t10 $t11 $t12 $t13 $t14 $t15 $t16 $t17 $t18 $t19 $t1a $t1b $t1c $t1d $t1e $t1f $t1g $t1h $t1i $t1j $t1k $t1l $t1m $t1n $t1o $t1p $t1q $t1r $t1s $t1t $t1u $t1v $t1w $t1x $t1y $t1z $t1A $t1B $t1C $t1D $t1E $t1F $t1G $t1H $t1I $t1J $t1K $t1L $t1M $t1N $t1O $t1P $t1Q $t1R $t1S $t1T $t1U $t1V $t1W $t1X $t1Y $t1Z $t20 $t21 $t22 $t23 $t24 $t25 $t26 $t27 $t28 $t29 $t2a $t2b $t2c $t2d $t2e $t2f $t2g $t2h $t2i $t2j $t2k $t2l $t2m $t2n $t2o $t2p $t2q $t2r $t2s $t2t $t2u $t2v $t2w $t2x $t2y $t2z $t2A $t2B $t2C $t2D $t2E $t2F $t2G $t2H $t2I $t2J $t2K $t2L $t2M $t2N $t2O $t2P $t2Q $t2R $t2S $t2T $t2U $t2V $t2W $t2X $t2Y $t2Z $t30 $t31 $t32 $t33 $t34 $t35 $t36 $t37 $t38 $t39 $t3a $t3b $t3c $t3d $t3e $t3f $t3g $t3h $t3i $t3j $t3k $t3l $t3m $t3n $t3o $t3p $t3q $t3r $t3s $t3t $t3u $t3v $t3w $t3x $t3y $t3z $t3A $t3B $t3C $t3D $t3E $t3F $t3G $t3H $t3I $t3J $t3K $t3L $t3M $t3N $t3O $t3P $t3Q $t3R $t3S $t3T $t3U $t3V $t3W $t3X $t3Y $t3Z $t40 $t41 $t42 $t43 $t44 $t45 $t46 $t47 $t48 $t49 $t4a $t4b] => $t4b -> $b -> ($t4b, $t27, $t26) -> ($a, ($t25, ($c, ($d, ($e, ($f, ($g, ($h, $i, $i), ($h, $j, $j)), ($g, ($k, $l, $l), ($k, $m, $m))), ($f, ($n, ($o, $p, $p), ($o, $q, $q)), ($n, ($r, $s, $s), ($r, $t, $t)))), ($e, ($u, ($v, ($w, $x, $x), ($w, $y, $y)), ($v, ($z, $tq, $tq), ($z, $tr, $tr))), ($u, ($ts, ($tt, $tu, $tu), ($tt, $tv, $tv)), ($ts, ($tw, $tx, $tx), ($tw, $ty, $ty))))), ($d, ($tz, ($tA, ($tB, ($tC, $tD, $tD), ($tC, $tE, $tE)), ($tB, ($tF, $tG, $tG), ($tF, $tH, $tH))), ($tA, ($tI, ($tJ, $tK, $tK), ($tJ, $tL, $tL)), ($tI, ($tM, $tN, $tN), ($tM, $tO, $tO)))), ($tz, ($tP, ($tQ, ($tR, $tS, $tS), ($tR, $tT, $tT)), ($tQ, ($tU, $tV, $tV), ($tU, $tW, $tW))), ($tP, ($tX, ($tY, $tZ, $tZ), ($tY, $t10, $t10)), ($tX, ($t11, $t12, $t12), ($t11, $t13, $t13)))))), ($c, ($t14, ($t15, ($t16, ($t17, ($t18, $t19, $t19), ($t18, $t1a, $t1a)), ($t17, ($t1b, $t1c, $t1c), ($t1b, $t1d, $t1d))), ($t16, ($t1e, ($t1f, $t1g, $t1g), ($t1f, $t1h, $t1h)), ($t1e, ($t1i, $t1j, $t1j), ($t1i, $t1k, $t1k)))), ($t15, ($t1l, ($t1m, ($t1n, $t1o, $t1o), ($t1n, $t1p, $t1p)), ($t1m, ($t1q, $t1r, $t1r), ($t1q, $t1s, $t1s))), ($t1l, ($t1t, ($t1u, $t1v, $t1v), ($t1u, $t1w, $t1w)), ($t1t, ($t1x, $t1y, $t1y), ($t1x, $t1z, $t1z))))), ($t14, ($t1A, ($t1B, ($t1C, ($t1D, $t1E, $t1E), ($t1D, $t1F, $t1F)), ($t1C, ($t1G, $t1H, $t1H), ($t1G, $t1I, $t1I))), ($t1B, ($t1J, ($t1K, $t1L, $t1L), ($t1K, $t1M, $t1M)), ($t1J, ($t1N, $t1O, $t1O), ($t1N, $t1P, $t1P)))), ($t1A, ($t1Q, ($t1R, ($t1S, $t1T, $t1T), ($t1S, $t1U, $t1U)), ($t1R, ($t1V, $t1W, $t1W), ($t1V, $t1X, $t1X))), ($t1Q, ($t1Y, ($t1Z, $t20, $t20), ($t1Z, $t21, $t21)), ($t1Y, ($t22, $t23, $t23), ($t22, $t24, $t24))))))), ($t25, ($t28, ($t29, ($t2a, ($t2b, ($t2c, ($t2d, $t2e, $t2e), ($t2d, $t2f, $t2f)), ($t2c, ($t2g, $t2h, $t2h), ($t2g, $t2i, $t2i))), ($t2b, ($t2j, ($t2k, $t2l, $t2l), ($t2k, $t2m, $t2m)), ($t2j, ($t2n, $t2o, $t2o), ($t2n, $t2p, $t2p)))), ($t2a, ($t2q, ($t2r, ($t2s, $t2t, $t2t), ($t2s, $t2u, $t2u)), ($t2r, ($t2v, $t2w, $t2w), ($t2v, $t2x, $t2x))), ($t2q, ($t2y, ($t2z, $t2A, $t2A), ($t2z, $t2B, $t2B)), ($t2y, ($t2C, $t2D, $t2D), ($t2C, $t2E, $t2E))))), ($t29, ($t2F, ($t2G, ($t2H, ($t2I, $t2J, $t2J), ($t2I, $t2K, $t2K)), ($t2H, ($t2L, $t2M, $t2M), ($t2L, $t2N, $t2N))), ($t2G, ($t2O, ($t2P, $t2Q, $t2Q), ($t2P, $t2R, $t2R)), ($t2O, ($t2S, $t2T, $t2T), ($t2S, $t2U, $t2U)))), ($t2F, ($t2V, ($t2W, ($t2X, $t2Y, $t2Y), ($t2X, $t2Z, $t2Z)), ($t2W, ($t30, $t31, $t31), ($t30, $t32, $t32))), ($t2V, ($t33, ($t34, $t35, $t35), ($t34, $t36, $t36)), ($t33, ($t37, $t38, $t38), ($t37, $t39, $t39)))))), ($t28, ($t3a, ($t3b, ($t3c, ($t3d, ($t3e, $t3f, $t3f), ($t3e, $t3g, $t3g)), ($t3d, ($t3h, $t3i, $t3i), ($t3h, $t3j, $t3j))), ($t3c, ($t3k, ($t3l, $t3m, $t3m), ($t3l, $t3n, $t3n)), ($t3k, ($t3o, $t3p, $t3p), ($t3o, $t3q, $t3q)))), ($t3b, ($t3r, ($t3s, ($t3t, $t3u, $t3u), ($t3t, $t3v, $t3v)), ($t3s, ($t3w, $t3x, $t3x), ($t3w, $t3y, $t3y))), ($t3r, ($t3z, ($t3A, $t3B, $t3B), ($t3A, $t3C, $t3C)), ($t3z, ($t3D, $t3E, $t3E), ($t3D, $t3F, $t3F))))), ($t3a, ($t3G, ($t3H, ($t3I, ($t3J, $t3K, $t3K), ($t3J, $t3L, $t3L)), ($t3I, ($t3M, $t3N, $t3N), ($t3M, $t3O, $t3O))), ($t3H, ($t3P, ($t3Q, $t3R, $t3R), ($t3Q, $t3S, $t3S)), ($t3P, ($t3T, $t3U, $t3U), ($t3T, $t3V, $t3V)))), ($t3G, ($t3W, ($t3X, ($t3Y, $t3Z, $t3Z), ($t3Y, $t40, $t40)), ($t3X, ($t41, $t42, $t42), ($t41, $t43, $t43))), ($t3W, ($t44, ($t45, $t46, $t46), ($t45, $t47, $t47)), ($t44, ($t48, $t49, $t49), ($t48, $t4a, $t4a)))))))) -> $a ;; +1 head _:_ _forall_ [$a] => [$a] -> $a ;; +1 one _:_ _forall_ [$a] => $a ;; +1 s_1_0 _:_ _forall_ [$a] => $a -> $a ;; +1 s_2_0 _:_ _forall_ [$a $b] => ($a, $b) -> $a ;; +1 s_2_1 _:_ _forall_ [$a $b] => ($a, $b) -> $b ;; +1 s_3_0 _:_ _forall_ [$a $b $c] => ($a, $b, $c) -> $a ;; +1 s_3_1 _:_ _forall_ [$a $b $c] => ($a, $b, $c) -> $b ;; +1 s_3_2 _:_ _forall_ [$a $b $c] => ($a, $b, $c) -> $c ;; diff --git a/ghc/tests/typecheck/should_compile/tc090.stderr b/ghc/tests/typecheck/should_compile/tc090.stderr index 39b602f4b49b02e77173c7ed1cdf11ec3e251aa4..a69fc17570fb645efac70932c0d80eed8d908cea 100644 --- a/ghc/tests/typecheck/should_compile/tc090.stderr +++ b/ghc/tests/typecheck/should_compile/tc090.stderr @@ -2,5 +2,5 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed a b; _declarations_ -1 a _:_ _forall_ [a] {PrelBase.Ord a} => a ;; -1 b _:_ _forall_ [a] {PrelBase.Ord a} => a ;; +1 a _:_ _forall_ [$a] {PrelBase.Ord $a} => $a ;; +1 b _:_ _forall_ [$a] {PrelBase.Ord $a} => $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc091.stderr b/ghc/tests/typecheck/should_compile/tc091.stderr index 16f8baab4663f896fb2cc03d79ba9e76ba5e2958..fe869c2ea1bb1539fa543c6bac2c9b3544fbfec8 100644 --- a/ghc/tests/typecheck/should_compile/tc091.stderr +++ b/ghc/tests/typecheck/should_compile/tc091.stderr @@ -2,6 +2,6 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ ShouldSucceed init_last merge sort; _declarations_ -1 init_last _:_ _forall_ [a] => [a] -> PrelBase.Int -> ([a], [a]) ;; -1 merge _:_ _forall_ [a] {PrelBase.Ord a} => [a] -> [a] -> [a] ;; -1 sort _:_ _forall_ [a] {PrelBase.Ord a} => [a] -> [a] ;; +1 init_last _:_ _forall_ [$a] => [$a] -> PrelBase.Int -> ([$a], [$a]) ;; +1 merge _:_ _forall_ [$a] {PrelBase.Ord $a} => [$a] -> [$a] -> [$a] ;; +1 sort _:_ _forall_ [$a] {PrelBase.Ord $a} => [$a] -> [$a] ;; diff --git a/ghc/tests/typecheck/should_compile/tc092.stderr b/ghc/tests/typecheck/should_compile/tc092.stderr index 31e96b8a239f2d59db96e6ce50e1a25a09bd33d1..caffe4b9984ec58973db5658d56ecc59d5c1289e 100644 --- a/ghc/tests/typecheck/should_compile/tc092.stderr +++ b/ghc/tests/typecheck/should_compile/tc092.stderr @@ -1,12 +1,9 @@ ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed e0 e1 e2 q Empty(Empty); -_instances_ -instance _forall_ [a :: (* -> *)] => {PrelBase.Eval (Empty a)} = $dEvalEmpty0; +ShouldSucceed e0 e1 e2 q Empty{Empty}; _declarations_ -1 $dEvalEmpty0 _:_ _forall_ [a :: (* -> *)] => {PrelBase.Eval (Empty a)} ;; -1 data Empty q :: (* -> *) = Empty (_forall_ [a] {PrelBase.Ord a} => q a) ; +1 data Empty $r3H :: (* -> *) = Empty (_forall_ [$r3K] {PrelBase.Ord $r3K} => $r3H $r3K) ; 1 e0 _:_ Empty PrelBase.[] ;; 1 e1 _:_ Empty PrelBase.[] ;; 1 e2 _:_ Empty PrelBase.[] ;; -1 q _:_ _forall_ [a] {PrelBase.Ord a} => [a] ;; +1 q _:_ _forall_ [$a] {PrelBase.Ord $a} => [$a] ;; diff --git a/ghc/tests/typecheck/should_compile/tc093.stderr b/ghc/tests/typecheck/should_compile/tc093.stderr index 29630d4eaf5afca8074cef2de947190f0a6b9e37..cfc536cef354e2925b1e7218dde8668f3a996986 100644 --- a/ghc/tests/typecheck/should_compile/tc093.stderr +++ b/ghc/tests/typecheck/should_compile/tc093.stderr @@ -1,22 +1,20 @@ + +uniqAway: 1 tries ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed bindState foo unState unitState St State(State) TS(TS vs); +ShouldSucceed bindState foo unState unitState St State{State} TS{TS vs}; _instances_ instance {PrelBase.Eq TS} = $dEqTS0; -instance _forall_ [a b] => {PrelBase.Eval (State a b)} = $dEvalState0; -instance {PrelBase.Eval TS} = $dEvalTS0; -instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Monad (State a)} = $dMonadState0; +instance _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Monad (State $a)} = $dMonadState0; instance {PrelBase.Show TS} = $dShowTS0; _declarations_ 1 $dEqTS0 _:_ {PrelBase.Eq TS} ;; -1 $dEvalState0 _:_ _forall_ [a b] => {PrelBase.Eval (State a b)} ;; -1 $dEvalTS0 _:_ {PrelBase.Eval TS} ;; -1 $dMonadState0 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Monad (State a)} ;; +1 $dMonadState0 _:_ _forall_ [$a] {PrelBase.Eq $a} => {PrelBase.Monad (State $a)} ;; 1 $dShowTS0 _:_ {PrelBase.Show TS} ;; -1 bindState _:_ _forall_ [a b c] => State a b -> (b -> State a c) -> State a c ;; -1 data State c a = State (c -> (a, c)) ; +1 bindState _:_ _forall_ [$a $b $c] => State $a $b -> ($b -> State $a $c) -> State $a $c ;; +1 data State $r4h $r4i = State ($r4h -> ($r4i, $r4h)) ; 1 data TS = TS {vs :: PrelBase.Int} ; 1 foo _:_ PrelBase.Int -> State TS PrelBase.Int ;; 1 type St = State TS ; -1 unState _:_ _forall_ [a b] => State a b -> a -> (b, a) ;; -1 unitState _:_ _forall_ [a b] => a -> State b a ;; +1 unState _:_ _forall_ [$a $b] => State $a $b -> $a -> ($b, $a) ;; +1 unitState _:_ _forall_ [$a $b] => $a -> State $b $a ;; diff --git a/ghc/tests/typecheck/should_compile/tc095.stderr b/ghc/tests/typecheck/should_compile/tc095.stderr index 30e5b7b228a0f2ec983599f9accf921476609fa0..dd425eb7c1152103ed58735b68f8d1d8888faae5 100644 --- a/ghc/tests/typecheck/should_compile/tc095.stderr +++ b/ghc/tests/typecheck/should_compile/tc095.stderr @@ -1,46 +1,39 @@ - -NOTE: Simplifier still going after 4 iterations; bailing out. +NOTE: Simplifier still going after 4 iterations; baling out. ghc: module version changed to 1; reason: no old .hi file _exports_ -ShouldSucceed action_0 action_1 action_2 action_3 action_4 action_5 action_6 happyAccept happyError happyFail happyGoto happyMonadReduce happyNewToken happyParse happyReduce happyReduce_1 happyReduce_2 happyReduce_3 happyReturn happyShift happySpecReduce_0 happySpecReduce_1 happySpecReduce_2 happySpecReduce_3 happyThen main myparser notHappyAtAll HappyAbsSyn(HappyTerminal HappyErrorToken HappyAbsSyn1 HappyAbsSyn2 HappyAbsSyn3) HappyState(HappyState) Token(TokenInt TokenVar TokenEq); +ShouldSucceed action_0 action_1 action_2 action_3 action_4 action_5 action_6 happyAccept happyError happyFail happyGoto happyMonadReduce happyNewToken happyParse happyReduce happyReduce_1 happyReduce_2 happyReduce_3 happyReturn happyShift happySpecReduce_0 happySpecReduce_1 happySpecReduce_2 happySpecReduce_3 happyThen main myparser notHappyAtAll HappyAbsSyn{HappyTerminal HappyErrorToken HappyAbsSyn1 HappyAbsSyn2 HappyAbsSyn3} HappyState{HappyState} Token{TokenInt TokenVar TokenEq}; _instances_ -instance _forall_ [a b c] => {PrelBase.Eval (HappyAbsSyn a b c)} = $dEvalHappyAbsSyn0; -instance _forall_ [a b] => {PrelBase.Eval (HappyState a b)} = $dEvalHappyState0; -instance {PrelBase.Eval Token} = $dEvalToken0; instance {PrelBase.Show Token} = $dShowToken0; _declarations_ -1 $dEvalHappyAbsSyn0 _:_ _forall_ [a b c] => {PrelBase.Eval (HappyAbsSyn a b c)} ;; -1 $dEvalHappyState0 _:_ _forall_ [a b] => {PrelBase.Eval (HappyState a b)} ;; -1 $dEvalToken0 _:_ {PrelBase.Eval Token} ;; 1 $dShowToken0 _:_ {PrelBase.Show Token} ;; -1 action_0 _:_ _forall_ [a b] {PrelBase.Num a} => a -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn (b -> PrelBase.Double) [(PrelBase.String, b -> PrelBase.Int)] (b -> PrelBase.Int)] -> [Token] -> b -> PrelBase.Double) -> [HappyState Token ([HappyAbsSyn (b -> PrelBase.Double) [(PrelBase.String, b -> PrelBase.Int)] (b -> PrelBase.Int)] -> [Token] -> b -> PrelBase.Double)] -> [HappyAbsSyn (b -> PrelBase.Double) [(PrelBase.String, b -> PrelBase.Int)] (b -> PrelBase.Int)] -> [Token] -> b -> PrelBase.Double ;; -1 action_1 _:_ _forall_ [a b c d e] {PrelBase.Num a} => a -> PrelBase.Int -> b -> HappyState b ([HappyAbsSyn e c d] -> [Token] -> e) -> [HappyState b ([HappyAbsSyn e c d] -> [Token] -> e)] -> [HappyAbsSyn e c d] -> [Token] -> e ;; -1 action_2 _:_ _forall_ [a b c d e f g h] => a -> PrelBase.Int -> b -> c -> [HappyState b ([HappyAbsSyn (d -> PrelBase.Double) [(e, d -> f)] g] -> h)] -> [HappyAbsSyn (d -> PrelBase.Double) [(e, d -> f)] g] -> h ;; -1 action_3 _:_ _forall_ [a b c d] {PrelBase.Num a} => a -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn c [(PrelBase.String, b -> PrelBase.Int)] (b -> PrelBase.Int)] -> [Token] -> d) -> [HappyState Token ([HappyAbsSyn c [(PrelBase.String, b -> PrelBase.Int)] (b -> PrelBase.Int)] -> [Token] -> d)] -> [HappyAbsSyn c [(PrelBase.String, b -> PrelBase.Int)] (b -> PrelBase.Int)] -> [Token] -> d ;; -1 action_4 _:_ _forall_ [a b c d] {PrelBase.Num a} => a -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn c [(PrelBase.String, b -> PrelBase.Int)] (b -> PrelBase.Int)] -> [Token] -> d) -> [HappyState Token ([HappyAbsSyn c [(PrelBase.String, b -> PrelBase.Int)] (b -> PrelBase.Int)] -> [Token] -> d)] -> [HappyAbsSyn c [(PrelBase.String, b -> PrelBase.Int)] (b -> PrelBase.Int)] -> [Token] -> d ;; -1 action_5 _:_ _forall_ [a b c d e f] => a -> PrelBase.Int -> b -> c -> [HappyState b ([HappyAbsSyn d [(PrelBase.String, e)] e] -> f)] -> [HappyAbsSyn d [(PrelBase.String, e)] e] -> f ;; -1 action_6 _:_ _forall_ [a b c d e f g] => a -> PrelBase.Int -> b -> c -> [HappyState b ([HappyAbsSyn d e (f -> PrelBase.Int)] -> g)] -> [HappyAbsSyn d e (f -> PrelBase.Int)] -> g ;; -1 data HappyAbsSyn t1 t2 t3 = HappyTerminal Token | HappyErrorToken PrelBase.Int | HappyAbsSyn1 t1 | HappyAbsSyn2 t2 | HappyAbsSyn3 t3 ; -1 newtype HappyState b c = HappyState (PrelBase.Int -> PrelBase.Int -> b -> HappyState b c -> [HappyState b c] -> c) ; +1 action_0 _:_ _forall_ [$a $b] {PrelBase.Num $a} => $a -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn ($b -> PrelBase.Double) [(PrelBase.String, $b -> PrelBase.Int)] ($b -> PrelBase.Int)] -> [Token] -> $b -> PrelBase.Double) -> [HappyState Token ([HappyAbsSyn ($b -> PrelBase.Double) [(PrelBase.String, $b -> PrelBase.Int)] ($b -> PrelBase.Int)] -> [Token] -> $b -> PrelBase.Double)] -> [HappyAbsSyn ($b -> PrelBase.Double) [(PrelBase.String, $b -> PrelBase.Int)] ($b -> PrelBase.Int)] -> [Token] -> $b -> PrelBase.Double ;; +1 action_1 _:_ _forall_ [$a $b $c $d $e] {PrelBase.Num $a} => $a -> PrelBase.Int -> $b -> HappyState $b ([HappyAbsSyn $e $c $d] -> [Token] -> $e) -> [HappyState $b ([HappyAbsSyn $e $c $d] -> [Token] -> $e)] -> [HappyAbsSyn $e $c $d] -> [Token] -> $e ;; +1 action_2 _:_ _forall_ [$a $b $c $d $e $f $g $h] => $a -> PrelBase.Int -> $b -> $c -> [HappyState $b ([HappyAbsSyn ($d -> PrelBase.Double) [($e, $d -> $f)] $g] -> $h)] -> [HappyAbsSyn ($d -> PrelBase.Double) [($e, $d -> $f)] $g] -> $h ;; +1 action_3 _:_ _forall_ [$a $b $c $d] {PrelBase.Num $a} => $a -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn $c [(PrelBase.String, $b -> PrelBase.Int)] ($b -> PrelBase.Int)] -> [Token] -> $d) -> [HappyState Token ([HappyAbsSyn $c [(PrelBase.String, $b -> PrelBase.Int)] ($b -> PrelBase.Int)] -> [Token] -> $d)] -> [HappyAbsSyn $c [(PrelBase.String, $b -> PrelBase.Int)] ($b -> PrelBase.Int)] -> [Token] -> $d ;; +1 action_4 _:_ _forall_ [$a $b $c $d] {PrelBase.Num $a} => $a -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn $c [(PrelBase.String, $b -> PrelBase.Int)] ($b -> PrelBase.Int)] -> [Token] -> $d) -> [HappyState Token ([HappyAbsSyn $c [(PrelBase.String, $b -> PrelBase.Int)] ($b -> PrelBase.Int)] -> [Token] -> $d)] -> [HappyAbsSyn $c [(PrelBase.String, $b -> PrelBase.Int)] ($b -> PrelBase.Int)] -> [Token] -> $d ;; +1 action_5 _:_ _forall_ [$a $b $c $d $e $f] => $a -> PrelBase.Int -> $b -> $c -> [HappyState $b ([HappyAbsSyn $d [(PrelBase.String, $e)] $e] -> $f)] -> [HappyAbsSyn $d [(PrelBase.String, $e)] $e] -> $f ;; +1 action_6 _:_ _forall_ [$a $b $c $d $e $f $g] => $a -> PrelBase.Int -> $b -> $c -> [HappyState $b ([HappyAbsSyn $d $e ($f -> PrelBase.Int)] -> $g)] -> [HappyAbsSyn $d $e ($f -> PrelBase.Int)] -> $g ;; +1 data HappyAbsSyn $r8T $r8U $r8V = HappyTerminal Token | HappyErrorToken PrelBase.Int | HappyAbsSyn1 $r8T | HappyAbsSyn2 $r8U | HappyAbsSyn3 $r8V ; +1 newtype HappyState $r8I $r8J = HappyState (PrelBase.Int -> PrelBase.Int -> $r8I -> HappyState $r8I $r8J -> [HappyState $r8I $r8J] -> $r8J) ; 1 data Token = TokenInt PrelBase.Int | TokenVar PrelBase.String | TokenEq ; -1 happyAccept _:_ _forall_ [a b c d e f g h] => a -> b -> c -> d -> [HappyAbsSyn e f g] -> h -> e ;; -1 happyError _:_ _forall_ [a] => [Token] -> a ;; -1 happyFail _:_ _forall_ [a b c d e] => PrelBase.Int -> b -> HappyState b ([HappyAbsSyn c d e] -> [Token] -> a) -> [HappyState b ([HappyAbsSyn c d e] -> [Token] -> a)] -> [HappyAbsSyn c d e] -> [Token] -> a ;; -1 happyGoto _:_ _forall_ [a b c] => (PrelBase.Int -> PrelBase.Int -> b -> HappyState b c -> [HappyState b c] -> c) -> PrelBase.Int -> b -> a -> [HappyState b c] -> c ;; -1 happyMonadReduce _:_ _forall_ [a b c d] => PrelBase.Int -> PrelBase.Int -> (c -> d) -> ([d] -> c) -> PrelBase.Int -> a -> HappyState a ([d] -> [Token] -> b) -> [HappyState a ([d] -> [Token] -> b)] -> [d] -> [Token] -> b ;; -1 happyNewToken _:_ _forall_ [a b] => (PrelBase.Int -> PrelBase.Int -> Token -> HappyState Token (a -> [Token] -> b) -> [HappyState Token (a -> [Token] -> b)] -> a -> [Token] -> b) -> [HappyState Token (a -> [Token] -> b)] -> a -> [Token] -> b ;; -1 happyParse _:_ _forall_ [a] => [Token] -> a -> PrelBase.Double ;; -1 happyReduce _:_ _forall_ [a b c] => PrelBase.Int -> PrelBase.Int -> (c -> c) -> PrelBase.Int -> a -> HappyState a (c -> b) -> [HappyState a (c -> b)] -> c -> b ;; -1 happyReduce_1 _:_ _forall_ [a b c d e f g] => PrelBase.Int -> a -> b -> [HappyState a ([HappyAbsSyn (e -> PrelBase.Double) [(d, e -> f)] g] -> c)] -> [HappyAbsSyn (e -> PrelBase.Double) [(d, e -> f)] g] -> c ;; -1 happyReduce_2 _:_ _forall_ [a b c d e] => PrelBase.Int -> a -> b -> [HappyState a ([HappyAbsSyn d [(PrelBase.String, e)] e] -> c)] -> [HappyAbsSyn d [(PrelBase.String, e)] e] -> c ;; -1 happyReduce_3 _:_ _forall_ [a b c d e f] => PrelBase.Int -> a -> b -> [HappyState a ([HappyAbsSyn d e (f -> PrelBase.Int)] -> c)] -> [HappyAbsSyn d e (f -> PrelBase.Int)] -> c ;; -1 happyReturn _:_ _forall_ [a b] => a -> b -> a ;; -1 happyShift _:_ _forall_ [a b c d e] {PrelBase.Num a} => (PrelBase.Int -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn c d e] -> [Token] -> b) -> [HappyState Token ([HappyAbsSyn c d e] -> [Token] -> b)] -> [HappyAbsSyn c d e] -> [Token] -> b) -> a -> Token -> HappyState Token ([HappyAbsSyn c d e] -> [Token] -> b) -> [HappyState Token ([HappyAbsSyn c d e] -> [Token] -> b)] -> [HappyAbsSyn c d e] -> [Token] -> b ;; -1 happySpecReduce_0 _:_ _forall_ [a b c] => PrelBase.Int -> c -> PrelBase.Int -> a -> HappyState a ([c] -> [Token] -> b) -> [HappyState a ([c] -> [Token] -> b)] -> [c] -> [Token] -> b ;; -1 happySpecReduce_1 _:_ _forall_ [a b c d] => PrelBase.Int -> (c -> c) -> PrelBase.Int -> b -> a -> [HappyState b ([c] -> d)] -> [c] -> d ;; -1 happySpecReduce_2 _:_ _forall_ [a b c d] => PrelBase.Int -> (c -> c -> c) -> PrelBase.Int -> b -> a -> [HappyState b ([c] -> d)] -> [c] -> d ;; -1 happySpecReduce_3 _:_ _forall_ [a b c d] => PrelBase.Int -> (c -> c -> c -> c) -> PrelBase.Int -> b -> a -> [HappyState b ([c] -> d)] -> [c] -> d ;; -1 happyThen _:_ _forall_ [a b] => a -> (a -> b) -> b ;; +1 happyAccept _:_ _forall_ [$a $b $c $d $e $f $g $h] => $a -> $b -> $c -> $d -> [HappyAbsSyn $e $f $g] -> $h -> $e ;; +1 happyError _:_ _forall_ [$a] => [Token] -> $a ;; +1 happyFail _:_ _forall_ [$a $b $c $d $e] => PrelBase.Int -> $b -> HappyState $b ([HappyAbsSyn $c $d $e] -> [Token] -> $a) -> [HappyState $b ([HappyAbsSyn $c $d $e] -> [Token] -> $a)] -> [HappyAbsSyn $c $d $e] -> [Token] -> $a ;; +1 happyGoto _:_ _forall_ [$a $b $c] => (PrelBase.Int -> PrelBase.Int -> $b -> HappyState $b $c -> [HappyState $b $c] -> $c) -> PrelBase.Int -> $b -> $a -> [HappyState $b $c] -> $c ;; +1 happyMonadReduce _:_ _forall_ [$a $b $c $d] => PrelBase.Int -> PrelBase.Int -> ($d -> $c) -> ([$c] -> $d) -> PrelBase.Int -> $a -> HappyState $a ([$c] -> [Token] -> $b) -> [HappyState $a ([$c] -> [Token] -> $b)] -> [$c] -> [Token] -> $b ;; +1 happyNewToken _:_ _forall_ [$a $b] => (PrelBase.Int -> PrelBase.Int -> Token -> HappyState Token ($a -> [Token] -> $b) -> [HappyState Token ($a -> [Token] -> $b)] -> $a -> [Token] -> $b) -> [HappyState Token ($a -> [Token] -> $b)] -> $a -> [Token] -> $b ;; +1 happyParse _:_ _forall_ [$a] => [Token] -> $a -> PrelBase.Double ;; +1 happyReduce _:_ _forall_ [$a $b $c] => PrelBase.Int -> PrelBase.Int -> ($c -> $c) -> PrelBase.Int -> $a -> HappyState $a ($c -> $b) -> [HappyState $a ($c -> $b)] -> $c -> $b ;; +1 happyReduce_1 _:_ _forall_ [$a $b $c $d $e $f $g] => PrelBase.Int -> $a -> $b -> [HappyState $a ([HappyAbsSyn ($e -> PrelBase.Double) [($d, $e -> $f)] $g] -> $c)] -> [HappyAbsSyn ($e -> PrelBase.Double) [($d, $e -> $f)] $g] -> $c ;; +1 happyReduce_2 _:_ _forall_ [$a $b $c $d $e] => PrelBase.Int -> $a -> $b -> [HappyState $a ([HappyAbsSyn $d [(PrelBase.String, $e)] $e] -> $c)] -> [HappyAbsSyn $d [(PrelBase.String, $e)] $e] -> $c ;; +1 happyReduce_3 _:_ _forall_ [$a $b $c $d $e $f] => PrelBase.Int -> $a -> $b -> [HappyState $a ([HappyAbsSyn $d $e ($f -> PrelBase.Int)] -> $c)] -> [HappyAbsSyn $d $e ($f -> PrelBase.Int)] -> $c ;; +1 happyReturn _:_ _forall_ [$a $b] => $b -> $a -> $b ;; +1 happyShift _:_ _forall_ [$a $b $c $d $e] {PrelBase.Num $a} => (PrelBase.Int -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn $c $d $e] -> [Token] -> $b) -> [HappyState Token ([HappyAbsSyn $c $d $e] -> [Token] -> $b)] -> [HappyAbsSyn $c $d $e] -> [Token] -> $b) -> $a -> Token -> HappyState Token ([HappyAbsSyn $c $d $e] -> [Token] -> $b) -> [HappyState Token ([HappyAbsSyn $c $d $e] -> [Token] -> $b)] -> [HappyAbsSyn $c $d $e] -> [Token] -> $b ;; +1 happySpecReduce_0 _:_ _forall_ [$a $b $c] => PrelBase.Int -> $c -> PrelBase.Int -> $a -> HappyState $a ([$c] -> [Token] -> $b) -> [HappyState $a ([$c] -> [Token] -> $b)] -> [$c] -> [Token] -> $b ;; +1 happySpecReduce_1 _:_ _forall_ [$a $b $c $d] => PrelBase.Int -> ($c -> $c) -> PrelBase.Int -> $b -> $a -> [HappyState $b ([$c] -> $d)] -> [$c] -> $d ;; +1 happySpecReduce_2 _:_ _forall_ [$a $b $c $d] => PrelBase.Int -> ($c -> $c -> $c) -> PrelBase.Int -> $b -> $a -> [HappyState $b ([$c] -> $d)] -> [$c] -> $d ;; +1 happySpecReduce_3 _:_ _forall_ [$a $b $c $d] => PrelBase.Int -> ($c -> $c -> $c -> $c) -> PrelBase.Int -> $b -> $a -> [HappyState $b ([$c] -> $d)] -> [$c] -> $d ;; +1 happyThen _:_ _forall_ [$a $b] => $b -> ($b -> $a) -> $a ;; 1 main _:_ PrelIOBase.IO PrelBase.() ;; -1 myparser _:_ _forall_ [a] => [Token] -> a -> PrelBase.Double ;; -1 notHappyAtAll _:_ _forall_ [a] => a ;; +1 myparser _:_ _forall_ [$a] => [Token] -> $a -> PrelBase.Double ;; +1 notHappyAtAll _:_ _forall_ [$a] => $a ;; diff --git a/ghc/tests/typecheck/should_fail/Digraph.stderr b/ghc/tests/typecheck/should_fail/Digraph.stderr index c576bf45800c365e9cc19cc732981bf182cd79bb..e4a2017291b3ac94e0b4f8bfd88d7b51f28fc883 100644 --- a/ghc/tests/typecheck/should_fail/Digraph.stderr +++ b/ghc/tests/typecheck/should_fail/Digraph.stderr @@ -1,29 +1,30 @@ Digraph.hs:19: - A type signature is more polymorphic than the inferred type - Can't for-all the type variable(s) `v' - in the type `[Edge v]' + Inferred type is less polymorphic than expected + Quantified type variable `vertex' escapes; i.e. unifies with something more global When checking the type signature for `reversed_edges' + Signature: [Edge v] + Inferred: [Edge vertex] In an equation for function `stronglyConnComp': stronglyConnComp es vs = snd (span_tree (new_range reversed_edges) - ([], ([])) - (snd (dfs (new_range es) ([], ([])) vs))) + ([], []) + (snd (dfs (new_range es) ([], []) vs))) where - span_tree r (vs, ns) [] = (vs, (ns)) + span_tree r (vs, ns) [] = (vs, ns) span_tree r (vs, ns) (x : xs) - | x elem vs = span_tree r (vs, (ns)) xs - | otherwise = span_tree r (vs', ((x : ns') : ns)) xs + | x `elem` vs = span_tree r (vs, ns) xs + | otherwise = span_tree r (vs', (x : ns') : ns) xs where - (vs', ns') = dfs r (x : vs, ([])) (r x) + (vs', ns') = dfs r (x : vs, []) (r x) new_range [] w = [] new_range ((x, y) : xys) w = if x == w then (y : (new_range xys w)) else (new_range xys w) - swap (x, y) = (y, (x)) - reversed_edges :: _forall_ [v] (PrelBase.Eq v) => [Edge v] + swap (x, y) = (y, x) + reversed_edges :: forall v. (PrelBase.Eq v) => [Edge v] reversed_edges = map swap es diff --git a/ghc/tests/typecheck/should_fail/tcfail001.stderr b/ghc/tests/typecheck/should_fail/tcfail001.stderr index e4b4cbfd16c8219a0863f8fdde3917c5582a8bcf..12c88e6f9b0962a168bf3fa2d0ccb41af8d5e044 100644 --- a/ghc/tests/typecheck/should_fail/tcfail001.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail001.stderr @@ -1,12 +1,12 @@ tcfail001.hs:9: Warning: - Duplicated class assertion `A a' in the context: (A a, A a) + Duplicate class assertion `A a' in the context: (A a, A a) => tcfail001.hs:9: - Couldn't match the type `[a]' against `aqv -> aqw' - Expected: [a] - Inferred: aqv -> aqw + Couldn't match `[a]' against `$0 -> $1' + Expected type: [a] + Inferred type: $0 -> $1 In an equation for function `op': op [] = [] In the definition for method `op' diff --git a/ghc/tests/typecheck/should_fail/tcfail002.stderr b/ghc/tests/typecheck/should_fail/tcfail002.stderr index 1779c2af10cdd2d4ff85bf5a5e55bfcd10ff7f4f..5fa5936fe5ed7c58aa55eacd6d3dae8f4b8ea7c6 100644 --- a/ghc/tests/typecheck/should_fail/tcfail002.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail002.stderr @@ -1,9 +1,9 @@ tcfail002.hs:4: - Occurs check: cannot construct the infinite type: aq7 = [aq7] - Expected: aq7 - Inferred: [aq7] - In an equation for function `c': c z = z + Occurs check: cannot construct the infinite type: $0 = [$0] + Expected type: $0 + Inferred type: [$0] + In the right-hand side of an equation for `c': z Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail003.stderr b/ghc/tests/typecheck/should_fail/tcfail003.stderr index 78cf0321b9f0c36f27176614394457da37a77ed0..c3bc95c6520eb7a2eef6e09fe9820fcdb5caf83a 100644 --- a/ghc/tests/typecheck/should_fail/tcfail003.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail003.stderr @@ -1,7 +1,7 @@ tcfail003.hs:3: No instance for `Num Char' - (arising from the literal `1' at tcfail003.hs:3) + arising from the literal `1' at tcfail003.hs:3 Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail004.stderr b/ghc/tests/typecheck/should_fail/tcfail004.stderr index b5a525f12d13fd175e212324c3c4fe7e946f928e..464687e20fd382af80e545ccc009c20d19892372 100644 --- a/ghc/tests/typecheck/should_fail/tcfail004.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail004.stderr @@ -1,9 +1,9 @@ tcfail004.hs:3: - Couldn't match the type `(a13f, a13i)' against `(a13k, a13m, a13o)' - Expected: (a13e, a13h) - Inferred: (a13k, a13m, a13o) - In a pattern binding: (f, g) = (1, 2, 3) + Couldn't match `($0, $1)' against `($2, $3, $4)' + Expected type: ($0, $1) + Inferred type: ($2, $3, $4) + In the right-hand side of a pattern binding: (1, 2, 3) Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail005.stderr b/ghc/tests/typecheck/should_fail/tcfail005.stderr index 72c88b5e0eb3234c9e3195c6f870e906f56ab1e7..c9e6fa8708dd76fac6310aaedd32baf018fa12fe 100644 --- a/ghc/tests/typecheck/should_fail/tcfail005.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail005.stderr @@ -1,9 +1,9 @@ tcfail005.hs:3: - Couldn't match the type `[a12u]' against `(a12y, a12A)' - Expected: [a12u] - Inferred: (a12y, a12A) - In a pattern binding: (h : i) = (1, ('a')) + Couldn't match `[$0]' against `($1, $2)' + Expected type: [$0] + Inferred type: ($1, $2) + In the right-hand side of a pattern binding: (1, 'a') Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail006.stderr b/ghc/tests/typecheck/should_fail/tcfail006.stderr index 0a5168a0bf2231c289f8629ccd6f3fa0efcc43f5..fb669e5f1ba45f0fd21a651fe5c94f4ba39dd872 100644 --- a/ghc/tests/typecheck/should_fail/tcfail006.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail006.stderr @@ -1,7 +1,7 @@ tcfail006.hs:4: No instance for `Num Bool' - (arising from the literal `1' at tcfail006.hs:4) + arising from the literal `1' at tcfail006.hs:4 Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail007.stderr b/ghc/tests/typecheck/should_fail/tcfail007.stderr index 646146918c5657b2f89d5fd360927bb88030994a..ff827617ffbb7bc2f2fa4f34a5cc8087a1ef76d8 100644 --- a/ghc/tests/typecheck/should_fail/tcfail007.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail007.stderr @@ -1,7 +1,7 @@ tcfail007.hs:4: No instance for `Num Bool' - (arising from the literal `1' at tcfail007.hs:4) + arising from use of `+' at tcfail007.hs:4 Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail008.stderr b/ghc/tests/typecheck/should_fail/tcfail008.stderr index 6d0057769591328e7458fe082b1959a1acf0090a..8a852ef65e1cd850ae0fb8ec9f69d62529ec3b78 100644 --- a/ghc/tests/typecheck/should_fail/tcfail008.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail008.stderr @@ -1,14 +1,12 @@ tcfail008.hs:3: - Ambiguous type variable(s) - `aN4' - in the constraint `Num [aN4]' + Ambiguous type variable(s) `$0' + in the constraint `Num [$0]' arising from the literal `2' at tcfail008.hs:3 tcfail008.hs:3: - Ambiguous type variable(s) - `aN4' - in the constraint `Num aN4' + Ambiguous type variable(s) `$0' + in the constraint `Num $0' arising from the literal `1' at tcfail008.hs:3 diff --git a/ghc/tests/typecheck/should_fail/tcfail009.stderr b/ghc/tests/typecheck/should_fail/tcfail009.stderr index e37fd85dc7e7a2026ea67508ee35ba6842e2b48d..de08837628e16c5e4c855c13741b29f93832354b 100644 --- a/ghc/tests/typecheck/should_fail/tcfail009.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail009.stderr @@ -1,8 +1,8 @@ tcfail009.hs:3: - Couldn't match the type `Int' against `Integer' - Expected: Integer - Inferred: Int + Couldn't match `Integer' against `Int' + Expected type: Integer + Inferred type: Int In an expression with a type signature: 2 :: Integer diff --git a/ghc/tests/typecheck/should_fail/tcfail010.stderr b/ghc/tests/typecheck/should_fail/tcfail010.stderr index 29992511720d1953c20f8a1f86bb1d3b6f5553af..41a77c42873eed1835f737627fa3ca0fc71bb891 100644 --- a/ghc/tests/typecheck/should_fail/tcfail010.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail010.stderr @@ -1,9 +1,8 @@ tcfail010.hs:3: - Ambiguous type variable(s) - `aNe' - in the constraint `Num [aNe]' - arising from the literal `2' at tcfail010.hs:3 + Ambiguous type variable(s) `$0' + in the constraint `Num [$0]' + arising from use of `+' at tcfail010.hs:3 Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail012.stderr b/ghc/tests/typecheck/should_fail/tcfail012.stderr index 705d07620fb42819a2b9f2c34cb648d71a1486f3..09cd1db7156d774adaddd4e46b72a0d2a4b0d83e 100644 --- a/ghc/tests/typecheck/should_fail/tcfail012.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail012.stderr @@ -1,9 +1,9 @@ tcfail012.hs:3: - Couldn't match the type `Bool' against `[apR]' - Expected: Bool - Inferred: [apR] - In a pattern binding: True = [] + Couldn't match `Bool' against `[$0]' + Expected type: Bool + Inferred type: [$0] + In the right-hand side of a pattern binding: [] Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail013.stderr b/ghc/tests/typecheck/should_fail/tcfail013.stderr index 3da86aa189cd5ff97dea07766481dd66140c68e6..327ceec5bccb12091cf4c8b7ce7d1a505c1886cc 100644 --- a/ghc/tests/typecheck/should_fail/tcfail013.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail013.stderr @@ -1,8 +1,9 @@ tcfail013.hs:4: - Couldn't match the type `[aNb]' against `Bool' - Expected: Bool - Inferred: [aNb] + Couldn't match `[$0]' against `Bool' + Expected type: [$0] + Inferred type: Bool + In the pattern: True In an equation for function `f': f True = 2 diff --git a/ghc/tests/typecheck/should_fail/tcfail014.stderr b/ghc/tests/typecheck/should_fail/tcfail014.stderr index 3917d0ee1b032e420483d1a68052508b2a86cc0c..2793d7aca710b2f2f69b4c5f0ac65f3c155ad159 100644 --- a/ghc/tests/typecheck/should_fail/tcfail014.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail014.stderr @@ -1,10 +1,10 @@ tcfail014.hs:5: - Occurs check: cannot construct the infinite type: aND = aND -> aNF - Expected: aND - Inferred: aND -> aNF + Occurs check: cannot construct the infinite type: $0 = $0 -> $1 + Expected type: $0 + Inferred type: $0 -> $1 In the first argument of `z', namely `z' - In an equation for function `h': h z = z z + In the right-hand side of an equation for `h': z z Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail015.stderr b/ghc/tests/typecheck/should_fail/tcfail015.stderr index 101e2f4a8d06c39ec5397a6bdd11a6f5f7c8d32f..49fb603b52dda22872cb5022b0a6f7e0fb561e48 100644 --- a/ghc/tests/typecheck/should_fail/tcfail015.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail015.stderr @@ -1,7 +1,7 @@ tcfail015.hs:7: No instance for `Num Bool' - (arising from the literal `2' at tcfail015.hs:7) + arising from the literal `2' at tcfail015.hs:7 Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail016.stderr b/ghc/tests/typecheck/should_fail/tcfail016.stderr index 8736b16c125595c9de056551d0bec6b176407f0c..f27a018c0c433a9bf232450239fcb8eab8189fb2 100644 --- a/ghc/tests/typecheck/should_fail/tcfail016.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail016.stderr @@ -1,8 +1,8 @@ tcfail016.hs:9: - Couldn't match the type `AnnExpr a12M' against `Expr a12F' - Expected: Expr a12M - Inferred: AnnExpr a12M + Couldn't match `Expr a' against `AnnExpr a1' + Expected type: Expr a1 + Inferred type: AnnExpr a1 In the first argument of `g', namely `e1' In the first argument of `++', namely `(g e1)' diff --git a/ghc/tests/typecheck/should_fail/tcfail018.stderr b/ghc/tests/typecheck/should_fail/tcfail018.stderr index e8c7737c138572052f6e748613bb1c3af5056baf..d9b50e44cf139c18aad72f5aad08cc7262ea6983 100644 --- a/ghc/tests/typecheck/should_fail/tcfail018.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail018.stderr @@ -1,8 +1,7 @@ tcfail018.hs:5: - Ambiguous type variable(s) - `aN7' - in the constraint `Num [aN7]' + Ambiguous type variable(s) `$0' + in the constraint `Num [$0]' arising from the literal `1' at tcfail018.hs:5 diff --git a/ghc/tests/typecheck/should_fail/tcfail021.stderr b/ghc/tests/typecheck/should_fail/tcfail021.stderr index 31120b0494f4e6de354ae57731a86b539dd2fffd..f11ceacd0bdfe1b0a49837a6797ec1c11832da83 100644 --- a/ghc/tests/typecheck/should_fail/tcfail021.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail021.stderr @@ -1,7 +1,7 @@ tcfail021.hs:8: Can't handle multiple methods defined by one pattern binding - (==, /=) = (\ x -> \ y -> True, (\ x -> \ y -> False)) + (==, /=) = (\ x -> \ y -> ..., \ x -> \ y -> ...) Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail023.stderr b/ghc/tests/typecheck/should_fail/tcfail023.stderr index 035355debce42d97bd0ed991b670fad0ef648c30..344d0f33f7e0477b4c4f027cdad522e9fb39c461 100644 --- a/ghc/tests/typecheck/should_fail/tcfail023.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail023.stderr @@ -4,18 +4,16 @@ tcfail023.hs:1: for `A B' at tcfail023.hs:14 and tcfail023.hs:11 tcfail023.hs:14: - Couldn't match the type `B' against `Bool' - Expected: B - Inferred: Bool - In an equation for function `op': op C = True - In the definition for method `op' + Couldn't match `B' against `Bool' + Expected type: B + Inferred type: Bool + In the right-hand side of an equation for `op': True tcfail023.hs:11: - Couldn't match the type `B' against `Bool' - Expected: B - Inferred: Bool - In an equation for function `op': op C = True - In the definition for method `op' + Couldn't match `B' against `Bool' + Expected type: B + Inferred type: Bool + In the right-hand side of an equation for `op': True Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail027.stderr b/ghc/tests/typecheck/should_fail/tcfail027.stderr index c06f988ccd4504376446f97dbaaed45972232c9d..5114e9ca42fe18fd9ac267246ed647b1d22a722d 100644 --- a/ghc/tests/typecheck/should_fail/tcfail027.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail027.stderr @@ -1,8 +1,8 @@ tcfail027.hs:3: Cycle in class declarations: - `A' at tcfail027.hs:4 `B' at tcfail027.hs:7 + `A' at tcfail027.hs:4 Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail028.stderr b/ghc/tests/typecheck/should_fail/tcfail028.stderr index d2983200934dc8bebd3d6a1bb67647afd5db1d8e..2639267ccf3961e1b656b214a00937d1451c993b 100644 --- a/ghc/tests/typecheck/should_fail/tcfail028.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail028.stderr @@ -1,8 +1,8 @@ tcfail028.hs:4: - Couldn't match the kind ** against kaPY -> * - Expected: ** - Found: kaPY -> * + Couldn't match `*?' against `$0 -> *' + Expected kind: *? + Inferred kind: $0 -> * In the type `A a' In the data declaration for `A' diff --git a/ghc/tests/typecheck/should_fail/tcfail029.stderr b/ghc/tests/typecheck/should_fail/tcfail029.stderr index b674e431c3eebecf50cea44a6b6e22221de9c175..2bca84f180fa520f878067a29a6b4c9d66c8e7f7 100644 --- a/ghc/tests/typecheck/should_fail/tcfail029.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail029.stderr @@ -1,7 +1,6 @@ tcfail029.hs:6: - No instance for `Ord Foo' - (arising from use of `>' at tcfail029.hs:6) + No instance for `Ord Foo' arising from use of `>' at tcfail029.hs:6 Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail031.stderr b/ghc/tests/typecheck/should_fail/tcfail031.stderr index 99949092038698e89b975ef96aefdab64788884f..f13bfaf480e7d220365ad37e9d14db18d295aea3 100644 --- a/ghc/tests/typecheck/should_fail/tcfail031.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail031.stderr @@ -1,10 +1,10 @@ tcfail031.hs:3: - Couldn't match the type `Bool' against `Char' - Expected: Bool - Inferred: Char + Couldn't match `Bool' against `Char' + Expected type: Bool + Inferred type: Char In the predicate expression: 'a' - In an equation for function `f': f x = if 'a' then 1 else 2 + In the right-hand side of an equation for `f': if 'a' then 1 else 2 Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail032.stderr b/ghc/tests/typecheck/should_fail/tcfail032.stderr index 0a2b33b236a049e805abeee53232d24c2097f70a..8601fba8aba855fa1df0d36af9204f18f8ffcdbb 100644 --- a/ghc/tests/typecheck/should_fail/tcfail032.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail032.stderr @@ -1,10 +1,12 @@ tcfail032.hs:14: - A type signature is more polymorphic than the inferred type - Can't for-all the type variable(s) `a' - in the type `a -> Int' + Inferred type is less polymorphic than expected + Quantified type variable `a' escapes; i.e. unifies with something more global + When checking the type signature for an expression + Signature: a -> Int + Inferred: a -> Int In an expression with a type signature: - x :: _forall_ [a] (PrelBase.Eq a) => a -> Int + x :: forall a. (PrelBase.Eq a) => a -> Int Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail033.stderr b/ghc/tests/typecheck/should_fail/tcfail033.stderr index f2b13dcdb0ce9a215313a072fa5cafef36e954ad..35db1ce346a92932db814ed1f5042453fdd913d3 100644 --- a/ghc/tests/typecheck/should_fail/tcfail033.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail033.stderr @@ -1,9 +1,9 @@ tcfail033.hs:4: - Occurs check: cannot construct the infinite type: aMq = (aMq, aMt) - Expected: aMu (aMq, aMt) - Inferred: aMu aMq - In a pattern binding: buglet = [x | (x, y) <- buglet] + Occurs check: cannot construct the infinite type: $0 = ($0, $1) + Expected type: ($0, $1) + Inferred type: $0 + In a list-comprehension qualifier: return x Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail034.stderr b/ghc/tests/typecheck/should_fail/tcfail034.stderr index cc383ac9c030c23450937ac35a59a953141f2e6f..aaa795f9206670ec0fc7afffbd32627cce079ac7 100644 --- a/ghc/tests/typecheck/should_fail/tcfail034.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail034.stderr @@ -2,7 +2,7 @@ tcfail034.hs:17: Could not deduce `Integral a' (arising from use of `mod' at tcfail034.hs:17) - from the context (Num a, Eq a, test at a) + from the context (Num a, Eq a, test at [a]) Probable cause: missing `Integral a' in type signature for `test' When checking the type signature(s) for `test' diff --git a/ghc/tests/typecheck/should_fail/tcfail036.stderr b/ghc/tests/typecheck/should_fail/tcfail036.stderr index 2159b499058ba7594a19286ae79880a08ce5b68a..bb262f4326877be366dddc8ac930ef985740b31e 100644 --- a/ghc/tests/typecheck/should_fail/tcfail036.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail036.stderr @@ -53,12 +53,12 @@ tcfail036.hs:3: for `Num NUM' at tcfail036.hs:8 and tcfail036.hs:7 tcfail036.hs:8: - No instance for `Eq NUM' - (arising from an instance declaration at tcfail036.hs:8) + No instance for `Show NUM' + arising from an instance declaration at tcfail036.hs:8 tcfail036.hs:8: - No instance for `Show NUM' - (arising from an instance declaration at tcfail036.hs:8) + No instance for `Eq NUM' + arising from an instance declaration at tcfail036.hs:8 Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail040.stderr b/ghc/tests/typecheck/should_fail/tcfail040.stderr index 6550bc2470e6092c5358b26ca7c21349deef83fc..b63b4a313f62b5992422acce6323fcedd924646c 100644 --- a/ghc/tests/typecheck/should_fail/tcfail040.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail040.stderr @@ -1,8 +1,7 @@ tcfail040.hs:19: - Ambiguous type variable(s) - `aN4' - in the constraint `ORD aN4' + Ambiguous type variable(s) `a' + in the constraint `ORD a' arising from use of `<<' at tcfail040.hs:19 diff --git a/ghc/tests/typecheck/should_fail/tcfail044.stderr b/ghc/tests/typecheck/should_fail/tcfail044.stderr index 3007968c2b49e46003b78bf6ab079b78470c90e5..6651435066ddda3c9d70421d60823de538001e16 100644 --- a/ghc/tests/typecheck/should_fail/tcfail044.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail044.stderr @@ -1,4 +1,17 @@ +tcfail044.hs:12: Warning: + No explicit method nor default method for `signum' + in an instance declaration for `Num' + +tcfail044.hs:12: Warning: + No explicit method nor default method for `abs' + in an instance declaration for `Num' + +tcfail044.hs:5: Warning: + No explicit method nor default method for `==' + in an instance declaration for `Eq' + + tcfail044.hs:12: Illegal instance declaration for `Num (a -> a)' (the instance type must be of form (T a b c) @@ -8,10 +21,6 @@ tcfail044.hs:5: Illegal instance declaration for `Eq (a -> a)' (the instance type must be of form (T a b c) where T is not a synonym, and a,b,c are distinct type variables) - -tcfail044.hs:20: - No instance for `Num (Float -> Float)' - (arising from use of `+' at tcfail044.hs:20) Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail045.stderr b/ghc/tests/typecheck/should_fail/tcfail045.stderr index 9a3f3c12f3bca3778cce5da5177041506607c177..017d2247b0eea89d4badb46c6fbc330e7797efee 100644 --- a/ghc/tests/typecheck/should_fail/tcfail045.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail045.stderr @@ -2,10 +2,6 @@ tcfail045.hs:10: Unacceptable instance type for ccall-ish class class CCallable type Socket - -tcfail045.hs:13: - No instance for `CCallable Socket' - (arising from an argument in the _ccall_ to `foo', namely `x' at tcfail045.hs:13) Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail055.stderr b/ghc/tests/typecheck/should_fail/tcfail055.stderr index 5166568fba1c21466278c04a5d038426c65367d8..ab6941b34c8d3eda2019e25c819aac064bdd4adb 100644 --- a/ghc/tests/typecheck/should_fail/tcfail055.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail055.stderr @@ -1,8 +1,8 @@ tcfail055.hs:3: - Couldn't match the type `Int' against `Float' - Expected: Int - Inferred: Float + Couldn't match `Int' against `Float' + Expected type: Int + Inferred type: Float In an expression with a type signature: x + 1 :: Int diff --git a/ghc/tests/typecheck/should_fail/tcfail057.stderr b/ghc/tests/typecheck/should_fail/tcfail057.stderr index 63e93c96da85e2d483eacf95960b655aebf784b2..c697dd103f353b52a539707486e85a8dc09c5757 100644 --- a/ghc/tests/typecheck/should_fail/tcfail057.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail057.stderr @@ -1,7 +1,7 @@ tcfail057.hs:5: Class used as a type constructor: RealFrac - In the type `_forall_ [a] => RealFrac a -> a -> a' + In the type `forall a. RealFrac a -> a -> a' Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail058.stderr b/ghc/tests/typecheck/should_fail/tcfail058.stderr index 332406a26b15cf0db57ef262d969ff4f842a0c61..8a9b740bb0fbde2c9afcd12aff465c0389aa0168 100644 --- a/ghc/tests/typecheck/should_fail/tcfail058.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail058.stderr @@ -1,8 +1,8 @@ tcfail058.hs:6: Type constructor used as a class: PrelArr.Array - In the context `(PrelArr.Array a)' - In the type `_forall_ [a b] (PrelArr.Array a) => a -> b' + In the context `(PrelArr.Array a) =>' + In the type `forall a b. (PrelArr.Array a) => a -> b' Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail065.stderr b/ghc/tests/typecheck/should_fail/tcfail065.stderr index c2cc0516612ce474aa02f6ed17ea08a69bc20dfa..580ebf6f8b4fc4d40049fd5e5c4611bb54c52ead 100644 --- a/ghc/tests/typecheck/should_fail/tcfail065.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail065.stderr @@ -1,9 +1,10 @@ tcfail065.hs:29: - A type signature is more polymorphic than the inferred type - Can't for-all the type variable(s) `aT2' - in the type `aT2 -> X x -> X x' + Inferred type is less polymorphic than expected + Quantified type variable `x' escapes; i.e. unifies with something more global When checking the type signature for `setX' + Signature: x -> X x1 -> X x1 + Inferred: x -> X x -> X x In the definition for method `setX' diff --git a/ghc/tests/typecheck/should_fail/tcfail067.stderr b/ghc/tests/typecheck/should_fail/tcfail067.stderr index fb5b59eff7ed353dd4f50d87414af0b03239c0fa..ccaac4a8660af5ef81279730ba464057f8ad1bfe 100644 --- a/ghc/tests/typecheck/should_fail/tcfail067.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail067.stderr @@ -11,14 +11,14 @@ tcfail067.hs:65: Warning: tcfail067.hs:76: Could not deduce `Ord a' (arising from use of `SubRange' at tcfail067.hs:76) - from the context (Num a, numSubRangeBinOp at a) + from the context (Num a, numSubRangeBinOp at [a]) Probable cause: missing `Ord a' in type signature for `numSubRangeBinOp' When checking the type signature(s) for `numSubRangeBinOp' tcfail067.hs:65: Could not deduce `Ord a' (arising from use of `SubRange' at tcfail067.hs:65) - from the context (Num (SubRange a), Num a, Eq (SubRange a), Show (SubRange a), Eval (SubRange a), Eq (SubRange a), Show (SubRange a), Eval (SubRange a), fromInt at SubRange a, fromInteger at SubRange a, signum at SubRange a, abs at SubRange a, negate at SubRange a, * at SubRange a, - at SubRange a, + at SubRange a) + from the context (Num (SubRange a), Num a, Eq (SubRange a), Show (SubRange a), Eq (SubRange a), Show (SubRange a), fromInt at [SubRange a], fromInteger at [SubRange a], signum at [SubRange a], abs at [SubRange a], negate at [SubRange a], * at [SubRange a], - at [SubRange a], + at [SubRange a]) Probable cause: missing `Ord a' in instance declaration context When checking the methods of an instance declaration diff --git a/ghc/tests/typecheck/should_fail/tcfail068.stderr b/ghc/tests/typecheck/should_fail/tcfail068.stderr index 63440c2aa7082cf1cc636d26cde169d0b4618be6..beba5e1372ba6af4d27375af4cc29db251009902 100644 --- a/ghc/tests/typecheck/should_fail/tcfail068.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail068.stderr @@ -1,71 +1,46 @@ tcfail068.hs:45: - A type signature is more polymorphic than the inferred type - Can't for-all the type variable(s) `a1jV' - in the type `ST a1jV a1jR' + Inferred type is less polymorphic than expected + Quantified type variable `$a' escapes; i.e. unifies with something more global + When checking the type signature for an expression + Signature: ST $b $a1 + Inferred: ST $a (c, IndTree $a b) In the first argument of `runST', namely `(itrapstate' i k s)' - In an equation for function `itrapstate': - itrapstate ((i, k), (j, l)) f c d s arr - = runST (itrapstate' i k s) - where - itrapstatesnd i k s - = if i > j then - return (s, (arr)) - else - ((readArray arr (i, (k))) - >>= (\ val - -> let (newstate, newval) = f (c (i, (k)) s) val - in (...) >> (...))) - itrapstate' i k s - = if k > l then - return (s, (arr)) - else - ((itrapstatesnd i k s) - >>= (\ (s, arr) -> itrapstate' i (k + 1) s)) + In the right-hand side of an equation for `itrapstate': + runST (itrapstate' i k s) tcfail068.hs:32: - A type signature is more polymorphic than the inferred type - Can't for-all the type variable(s) `a1mG' - in the type `ST a1mG a1mC' + Inferred type is less polymorphic than expected + Quantified type variable `$a' escapes; i.e. unifies with something more global + When checking the type signature for an expression + Signature: ST $b $a1 + Inferred: ST $a (IndTree $a a) In the first argument of `runST', namely `(itrap' i k)' - In an equation for function `itrap': - itrap ((i, k), (j, l)) f arr - = runST (itrap' i k) - where - itrapsnd i k - = if i > j then - return arr - else - ((readArray arr (i, (k))) - >>= (\ val - -> (writeArray arr (i, (k)) (f val)) - >> (itrapsnd (... + 1) k))) - itrap' i k - = if k > l then - return arr - else - ((itrapsnd i k) >> (itrap' i (k + 1))) + In the right-hand side of an equation for `itrap': + runST (itrap' i k) tcfail068.hs:21: - A type signature is more polymorphic than the inferred type - Can't for-all the type variable(s) `a1nb' - in the type `ST a1nb a1n1' + Inferred type is less polymorphic than expected + Quantified type variable `$a' escapes; i.e. unifies with something more global + When checking the type signature for an expression + Signature: ST $b $a1 + Inferred: ST $a (IndTree $a a) In the first argument of `runST', namely `((readArray arr i) >>= (\ val -> (writeArray arr i (f val)) >> (return arr)))' - In an equation for function `itiap': - itiap i f arr - = runST ((readArray arr i) - >>= (\ val -> (writeArray arr i (f val)) >> (return arr))) + In the right-hand side of an equation for `itiap': + runST ((readArray arr i) + >>= (\ val -> (writeArray arr i (f val)) >> (return arr))) tcfail068.hs:14: - A type signature is more polymorphic than the inferred type - Can't for-all the type variable(s) `a1ob' - in the type `ST a1ob a1o7' - In the first argument of `runST', namely - `(newArray ((1, (1)), (n)) x)' - In an equation for function `itgen': - itgen n x = runST (newArray ((1, (1)), (n)) x) + Inferred type is less polymorphic than expected + Quantified type variable `$c' escapes; i.e. unifies with something more global + When checking the type signature for an expression + Signature: ST $b $a + Inferred: ST $c (IndTree $c $b1) + In the first argument of `runST', namely `(newArray ((1, 1), n) x)' + In the right-hand side of an equation for `itgen': + runST (newArray ((1, 1), n) x) Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail069.stderr b/ghc/tests/typecheck/should_fail/tcfail069.stderr index 260666389c5e6f4ed7383838771182d4e12d6eff..e8cb82bdc8740aac36cd661584ecfeaf23004436 100644 --- a/ghc/tests/typecheck/should_fail/tcfail069.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail069.stderr @@ -1,10 +1,10 @@ tcfail069.hs:20: - Couldn't match the type `[aF3]' against `(aF7, aF9)' - Expected: [aF3] - Inferred: (aF7, aF9) - In the scrutinee of a case expression: (list1, (list2)) - In the case expression: case (list1, (list2)) of [] -> error "foo" + Couldn't match `[$0]' against `($1, $2)' + Expected type: [$0] + Inferred type: ($1, $2) + In the scrutinee of a case expression: (list1, list2) + In the case expression: case (list1, list2) of [] -> error "foo" Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail070.stderr b/ghc/tests/typecheck/should_fail/tcfail070.stderr index 475c96becb8ae3c8535b63cc1db3d8f428a36a89..553969db5837acaea38e6b0a994d18063ecf639e 100644 --- a/ghc/tests/typecheck/should_fail/tcfail070.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail070.stderr @@ -1,8 +1,8 @@ tcfail070.hs:13: - Couldn't match the kind * against * -> kaAD - Expected: * - Found: * -> kaAD + Couldn't match `*' against `* -> $0' + Expected kind: * + Inferred kind: * -> $0 In the type `[Int] Bool' In the type declaration for `State' diff --git a/ghc/tests/typecheck/should_fail/tcfail071.stderr b/ghc/tests/typecheck/should_fail/tcfail071.stderr index de77b0c489bc09e7239f46bca68682325639b6cf..ef059b3abfe3d15b63cc7861e1c60728c6b564cb 100644 --- a/ghc/tests/typecheck/should_fail/tcfail071.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail071.stderr @@ -1,9 +1,10 @@ tcfail071.hs:8: - Type signature doesn't match inferred type - Signature: c -> c - Inferred : (aNf -> [aNd] -> [aNd]) -> aNf -> [aNd] -> [aNd] + Inferred type is less polymorphic than expected + Quantified type variable `c' is unified with `$a -> [$0] -> [$0]' When checking the type signature for `g' + Signature: c -> c + Inferred: ($a -> [$0] -> [$0]) -> $a -> [$0] -> [$0] Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail072.stderr b/ghc/tests/typecheck/should_fail/tcfail072.stderr index c8a7b6f60e306d40e80b66d9bf85c0451ab51885..53d307195dd95ce57c498e4d2d9baf2b12d007ec 100644 --- a/ghc/tests/typecheck/should_fail/tcfail072.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail072.stderr @@ -1,14 +1,12 @@ tcfail072.hs:23: - Ambiguous type variable(s) - `aNk' - in the constraint `Ord aNk' + Ambiguous type variable(s) `p' + in the constraint `Ord p' arising from use of `g' at tcfail072.hs:23 tcfail072.hs:23: - Ambiguous type variable(s) - `aNn' - in the constraint `Ord aNn' + Ambiguous type variable(s) `q' + in the constraint `Ord q' arising from use of `g' at tcfail072.hs:23 diff --git a/ghc/tests/typecheck/should_fail/tcfail073.stderr b/ghc/tests/typecheck/should_fail/tcfail073.stderr index e7f448fba16e59cef5c6200be47a752a7146df20..b02320d160d150d1799bcf1e2bdcfbca10e95fa6 100644 --- a/ghc/tests/typecheck/should_fail/tcfail073.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail073.stderr @@ -1,12 +1,12 @@ tcfail073.hs:3: Duplicate or overlapping instance declarations - for `Eq (a, b)' at PrelTup.hi:11 and tcfail073.hs:8 + for `Eq ($a, $b)' at PrelTup.hi:14 and tcfail073.hs:8 tcfail073.hs:8: Could not deduce `Eq a' (arising from use of `==' at tcfail073.hs:8) - from the context (Eq (a, b), /= at (a, b), == at (a, b)) + from the context (Eq (a, b), /= at [(a, b)], == at [(a, b)]) Probable cause: missing `Eq a' in instance declaration context When checking the methods of an instance declaration diff --git a/ghc/tests/typecheck/should_fail/tcfail076.hs b/ghc/tests/typecheck/should_fail/tcfail076.hs index 262b79f9fa7e7a4405dbce4140c31dbd00e35e90..7d8f136bc19698615fd95ed55a7ac7d8ae4d9012 100644 --- a/ghc/tests/typecheck/should_fail/tcfail076.hs +++ b/ghc/tests/typecheck/should_fail/tcfail076.hs @@ -11,9 +11,7 @@ Needless to say that it uses some of GHC's arcane type extensions. module ShouldFail where -import GlaExts ( All ) - -data ContT m a = KContT ((All res) => (a -> m res) -> m res) +data ContT m a = KContT (forall res. (a -> m res) -> m res) unKContT (KContT x) = x callcc :: ((a -> ContT m b) -> ContT m a) -> ContT m a diff --git a/ghc/tests/typecheck/should_fail/tcfail076.stderr b/ghc/tests/typecheck/should_fail/tcfail076.stderr index 7fd5f0c6137b68b533fe856f93d29a3a3277bee4..fa09963faabef3446863ff3fa776bd092d28b29f 100644 --- a/ghc/tests/typecheck/should_fail/tcfail076.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail076.stderr @@ -1,13 +1,13 @@ -tcfail076.hs:20: - A type signature is more polymorphic than the inferred type - Can't for-all the type variable(s) `aO3' - in the type `(aNZ -> aNX aO3) -> aNX aO3' +tcfail076.hs:18: + Inferred type is less polymorphic than expected + Quantified type variable `res' escapes; i.e. unifies with something more global + When checking the type signature for an expression + Signature: (a -> m res1) -> m res1 + Inferred: (a -> m res) -> m res In the first argument of `KContT', namely `(\ cont' -> cont a)' - In the first argument of `f', namely - `(\ a -> KContT (\ cont' -> cont a))' - In the first argument of `unKContT', namely - `(f (\ a -> KContT (\ cont' -> cont a)))' + In the right-hand side of a lambda abstraction: + KContT (\ cont' -> cont a) Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail078.stderr b/ghc/tests/typecheck/should_fail/tcfail078.stderr index 5909239f11e130eeb7d454830e6c7357993a64e4..ed2c64a13599a1e28e945eedbd8db2588a08dab0 100644 --- a/ghc/tests/typecheck/should_fail/tcfail078.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail078.stderr @@ -1,8 +1,8 @@ tcfail078.hs:5: Type constructor used as a class: Integer - In the context `(Integer i)' - In the type `_forall_ [i] (Integer i) => i' + In the context `(Integer i) =>' + In the type `forall i. (Integer i) => i' Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail080.stderr b/ghc/tests/typecheck/should_fail/tcfail080.stderr index 3096a5e800d551b3adc4d8a5699ab5f11a547007..8a336d902c0960cfc3eb51837e95e4eab205e1d1 100644 --- a/ghc/tests/typecheck/should_fail/tcfail080.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail080.stderr @@ -1,9 +1,8 @@ tcfail080.hs:11: - Ambiguous type variable(s) - `ar9' - in the constraint `Collection ar9 arc' - arising from use of `singleton' at tcfail080.hs:11 + Ambiguous type variable(s) `c' + in the constraint `Collection c a' + arising from use of `isempty' at tcfail080.hs:11 Compilation had errors diff --git a/ghc/tests/typecheck/should_run/tcrun002.hs b/ghc/tests/typecheck/should_run/tcrun002.hs index 0c511f63cdeba3e3a65a6ecbbb18b22d4da5c838..3e278727843aa70dbb7df444c280d037299ac75f 100644 --- a/ghc/tests/typecheck/should_run/tcrun002.hs +++ b/ghc/tests/typecheck/should_run/tcrun002.hs @@ -7,7 +7,7 @@ module Main where import System(getArgs) import PrelIOBase -sfoldl :: Eval a => (a -> Int -> a) -> a -> [Int] -> a +sfoldl :: (a -> Int -> a) -> a -> [Int] -> a sfoldl f z [] = z sfoldl f z (x:xs) = _scc_ "sfoldl1" (sfoldl f fzx (fzx `seq` xs)) where fzx = _scc_ "fzx" (f z x)