ref: 82e418f7109536c49e8020386ce56330a3166845
parent: 961c1a4f7d14dde651f4001aaa29a58cbe266e62
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Sun Aug 20 12:20:56 EDT 2023
Remove bad test.
--- a/comb/mhs.comb
+++ b/comb/mhs.comb
@@ -1,3 +1,3 @@
v2.2
-647
-(($A :0 ((_475 _429) ((($S' ($C ((($C' ($S' _475)) ($C _2)) (($B ($B (_475 _503))) ((($C' ($S' $C)) ((($C' ($C' $C)) ((($C' ($C' ($C' $S'))) (($B ($B ($B $C))) ((($C' ($C' ($C' ($C' $C)))) ((($C' ($C' ($C' ($C' ($S' $B))))) ((($C' ($C' ($C' ($C' ($C' $S))))) ((($C' ($C' ($C' $B))) (($B ($B ($B ($C' $C)))) ((($C' ($C' ($C' ($C' ($C' $S'))))) (($B ($B ($B ($B ($B $C))))) ((($C' ($C' ($C' ($C' ($C' ($C' $B)))))) ((($C' ($C' ($C' ($S' ($C' $B))))) (($B ($B ($B ($B ($B $B))))) ((($C' ($C' ($C' ($C' $B)))) ((($S' $B) (($B $B) (($B $B) (($B $C') (($B ($S' _476)) ((($C' $B) (($B _560) (($B _493) ((($C' _597) _8) 0)))) (($B (_560 _496)) (($B (_507 (($O 116) (($O 111) (($O 112) (($O 32) (($O 108) (($O 101) (($O 118) (($O 101) (($O 108) (($O 32) (($O 100) (($O 101) (($O 102) (($O 110) (($O 115) (($O 58) (($O 32) $K))))))))))))))))))) _457)))))))) ((($S' $B) (($B $B) (($B ($C' $B)) (($B ($B $B)) (($B ($B _476)) ((($C' $B) (($B _560) (($B _493) ((($C' _597) _8) 1)))) (_492 ($T (($B ($B (_560 _496))) ((($C' $B) _507) (($B (_507 (($O 32) (($O 61) (($O 32) $K))))) _223))))))))))) ((($C' $B) ((($S' $C') (($B $C') (($B $C') _9))) ((($S' $B) (($B ($C' ($C' _476))) ((($C' $B) (($B $B) (($B _560) (($B _498) _11)))) (($B ($B (_507 _1))) (($B (($C' _507) _457)) (_507 (($O 10) $K))))))) (($B ($B (_475 _503))) ((($C' $B) (($B $B) (($B _560) (($B _493) ((($C' _597) _8) 0))))) (($B ($B (_560 _496))) (($B ($B (_507 (($O 102) (($O 105) (($O 110) (($O 97) (($O 108) (($O 32) (($O 112) (($O 97) (($O 115) (($O 115) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) $K))))))))))))))))))))))))) ((($C' ($C' _507)) (($B ($B (_470 6))) (($B ($B _457)) _591))) (($O 109) (($O 115) $K)))))))))) _3)))) _454))) (($B (($C' $C) (($B ($C _512)) _223))) (($C _525) (_540 0))))) (($B ($C $B)) (($B ($B ($C $B))) (($B ($B ($B $K))) (($B ($B ($B ($B (_507 (($O 40) (($O 40) (($O 36) (($O 65) (($O 32) (($O 58) $K))))))))))) (($B ($B (($C' $B) (($B _507) _457)))) (($B ($B ($B (_507 (($O 32) $K))))) ((($C' $B) (($B ($C' _507)) ($B _223))) (($B (_507 (($O 41) (($O 32) $K)))) (($C _507) (($O 41) $K))))))))))))) (($B $Y) ((($C' ($C' $S)) ((($C' ($C' $S)) ((($C' ($C' $S)) ((($C' $B) $P) ((($S' ($C' $B)) ($B _203)) $I))) (($B $K) $K))) $K)) $K))))) $T)) (($B (($S' _560) (($B _557) (($B (_560 _605)) (($B (_507 (($O 109) (($O 97) (($O 105) (($O 110) (($O 58) (($O 32) (($O 102) (($O 105) (($O 110) (($O 100) (($O 73) (($O 100) (($O 101) (($O 110) (($O 116) (($O 58) (($O 32) $K))))))))))))))))))) _291))))) ($C _447)))) (($B ($B _451)) (($B (($C' _509) (($B $T) (($B ($C $B)) (($B ($B ($B $K))) ((($C' ($C' ($C' $O))) ($B ($C $P))) $K)))))) (($C _525) (_540 0)))))) (($B (_560 _202)) (($B (_507 (($O 95) $K))) _457))))) ($T $A))) ($T $K))) (($B $Y) $K)))))) (($S (($S ((($S' _7) (($B _524) (_511 (_468 (($O 45) (($O 118) $K)))))) ((_539 _468) (($O 45) (($O 114) $K))))) (($B (_505 (($O 46) $K))) (($B _559) (_510 ((_529 _582) (($O 45) (($O 105) $K)))))))) (($B (_560 _534)) ((($C' _507) (($B _559) (_510 ((_529 _582) (($O 45) (($O 111) $K)))))) (($O (($O 111) (($O 117) (($O 116) (($O 46) (($O 99) (($O 111) (($O 109) (($O 98) $K))))))))) $K))))) (($B (($S (($C ((($C' _593) _524) 1)) (_605 (($O 85) (($O 115) (($O 97) (($O 103) (($O 101) (($O 58) (($O 32) (($O 117) (($O 104) (($O 115) (($O 32) (($O 91) (($O 45) (($O 118) (($O 93) (($O 32) (($O 91) (($O 45) (($O 114) (($O 93) (($O 32) (($O 91) (($O 45) (($O 105) (($O 80) (($O 65) (($O 84) (($O 72) (($O 93) (($O 32) (($O 91) (($O 45) (($O 111) (($O 70) (($O 73) (($O 76) (($O 69) (($O 93) (($O 32) (($O 77) (($O 111) (($O 100) (($O 117) (($O 108) (($O 101) (($O 78) (($O 97) (($O 109) (($O 101) $K)))))))))))))))))))))))))))))))))))))))))))))))))))) _534)) (_511 ((_561 _602) ((_561 (_468 (($O 45) $K))) (_522 1)))))))) (($A :1 (($O 118) (($O 50) (($O 46) (($O 50) (($O 10) $K)))))) (($A :2 ((($S' ($S' _475)) _16) (($B ($B ($B (_475 _503)))) ((($C' ($C' $B)) (($B ($B ($C' (($S' _476) (($B (_560 _494)) (($B (_560 (_523 1000000))) _38)))))) (($B ($B ($B ($B (_475 _503))))) ((($C' $B) (($B ($C' $B)) (($B
\ No newline at end of file
+648
+(($A :0 ((_476 _430) ((($S' ($C ((($C' ($S' _476)) ($C _2)) (($B ($B (_476 _504))) ((($C' ($S' $C)) ((($C' ($C' $C)) ((($C' ($C' ($C' $S'))) (($B ($B ($B $C))) ((($C' ($C' ($C' ($C' $C)))) ((($C' ($C' ($C' ($C' ($S' $B))))) ((($C' ($C' ($C' ($C' ($C' $S))))) ((($C' ($C' ($C' $B))) (($B ($B ($B ($C' $C)))) ((($C' ($C' ($C' ($C' ($C' $S'))))) (($B ($B ($B ($B ($B $C))))) ((($C' ($C' ($C' ($C' ($C' ($C' $B)))))) ((($C' ($C' ($C' ($S' ($C' $B))))) (($B ($B ($B ($B ($B $B))))) ((($C' ($C' ($C' ($C' $B)))) ((($S' $B) (($B $B) (($B $B) (($B $C') (($B ($S' _477)) ((($C' $B) (($B _561) (($B _494) ((($C' _598) _8) 0)))) (($B (_561 _497)) (($B (_508 (($O 116) (($O 111) (($O 112) (($O 32) (($O 108) (($O 101) (($O 118) (($O 101) (($O 108) (($O 32) (($O 100) (($O 101) (($O 102) (($O 110) (($O 115) (($O 58) (($O 32) $K))))))))))))))))))) _458)))))))) ((($S' $B) (($B $B) (($B ($C' $B)) (($B ($B $B)) (($B ($B _477)) ((($C' $B) (($B _561) (($B _494) ((($C' _598) _8) 1)))) (_493 ($T (($B ($B (_561 _497))) ((($C' $B) _508) (($B (_508 (($O 32) (($O 61) (($O 32) $K))))) _224))))))))))) ((($C' $B) ((($S' $C') (($B $C') (($B $C') _9))) ((($S' $B) (($B ($C' ($C' _477))) ((($C' $B) (($B $B) (($B _561) (($B _499) _11)))) (($B ($B (_508 _1))) (($B (($C' _508) _458)) (_508 (($O 10) $K))))))) (($B ($B (_476 _504))) ((($C' $B) (($B $B) (($B _561) (($B _494) ((($C' _598) _8) 0))))) (($B ($B (_561 _497))) (($B ($B (_508 (($O 102) (($O 105) (($O 110) (($O 97) (($O 108) (($O 32) (($O 112) (($O 97) (($O 115) (($O 115) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) (($O 32) $K))))))))))))))))))))))))) ((($C' ($C' _508)) (($B ($B (_471 6))) (($B ($B _458)) _592))) (($O 109) (($O 115) $K)))))))))) _3)))) _455))) (($B (($C' $C) (($B ($C _513)) _224))) (($C _526) (_541 0))))) (($B ($C $B)) (($B ($B ($C $B))) (($B ($B ($B $K))) (($B ($B ($B ($B (_508 (($O 40) (($O 40) (($O 36) (($O 65) (($O 32) (($O 58) $K))))))))))) (($B ($B (($C' $B) (($B _508) _458)))) (($B ($B ($B (_508 (($O 32) $K))))) ((($C' $B) (($B ($C' _508)) ($B _224))) (($B (_508 (($O 41) (($O 32) $K)))) (($C _508) (($O 41) $K))))))))))))) (($B $Y) ((($C' ($C' $S)) ((($C' ($C' $S)) ((($C' ($C' $S)) ((($C' $B) $P) ((($S' ($C' $B)) ($B _204)) $I))) (($B $K) $K))) $K)) $K))))) $T)) (($B (($S' _561) (($B _558) (($B (_561 _606)) (($B (_508 (($O 109) (($O 97) (($O 105) (($O 110) (($O 58) (($O 32) (($O 102) (($O 105) (($O 110) (($O 100) (($O 73) (($O 100) (($O 101) (($O 110) (($O 116) (($O 58) (($O 32) $K))))))))))))))))))) _292))))) ($C _448)))) (($B ($B _452)) (($B (($C' _510) (($B $T) (($B ($C $B)) (($B ($B ($B $K))) ((($C' ($C' ($C' $O))) ($B ($C $P))) $K)))))) (($C _526) (_541 0)))))) (($B (_561 _203)) (($B (_508 (($O 95) $K))) _458))))) ($T $A))) ($T $K))) (($B $Y) $K)))))) (($S (($S ((($S' _7) (($B _525) (_512 (_469 (($O 45) (($O 118) $K)))))) ((_540 _469) (($O 45) (($O 114) $K))))) (($B (_506 (($O 46) $K))) (($B _560) (_511 ((_530 _583) (($O 45) (($O 105) $K)))))))) (($B (_561 _535)) ((($C' _508) (($B _560) (_511 ((_530 _583) (($O 45) (($O 111) $K)))))) (($O (($O 111) (($O 117) (($O 116) (($O 46) (($O 99) (($O 111) (($O 109) (($O 98) $K))))))))) $K))))) (($B (($S (($C ((($C' _594) _525) 1)) (_606 (($O 85) (($O 115) (($O 97) (($O 103) (($O 101) (($O 58) (($O 32) (($O 117) (($O 104) (($O 115) (($O 32) (($O 91) (($O 45) (($O 118) (($O 93) (($O 32) (($O 91) (($O 45) (($O 114) (($O 93) (($O 32) (($O 91) (($O 45) (($O 105) (($O 80) (($O 65) (($O 84) (($O 72) (($O 93) (($O 32) (($O 91) (($O 45) (($O 111) (($O 70) (($O 73) (($O 76) (($O 69) (($O 93) (($O 32) (($O 77) (($O 111) (($O 100) (($O 117) (($O 108) (($O 101) (($O 78) (($O 97) (($O 109) (($O 101) $K)))))))))))))))))))))))))))))))))))))))))))))))))))) _535)) (_512 ((_562 _603) ((_562 (_469 (($O 45) $K))) (_523 1)))))))) (($A :1 (($O 118) (($O 50) (($O 46) (($O 50) (($O 10) $K)))))) (($A :2 ((($S' ($S' _476)) _16) (($B ($B ($B (_476 _504)))) ((($C' ($C' $B)) (($B ($B ($C' (($S' _477) (($B (_561 _495)) (($B (_561 (_524 1000000))) _38)))))) (($B ($B ($B ($B (_476 _504))))) ((($C' $B) (($B ($C' $B)) (($B
\ No newline at end of file
--- a/src/MicroHs/Desugar.hs
+++ b/src/MicroHs/Desugar.hs
@@ -274,7 +274,6 @@
-- Note that the RHSs are of type Exp.
dsMatrix :: --XHasCallStack =>
Exp -> [Exp] -> Matrix -> M Exp
-dsMatrix _ _ [] = impossible
dsMatrix dflt iis aarms =
if null aarms then
S.return dflt
@@ -367,8 +366,7 @@
(c, k) = ck
(vs, rhs) = head $ [ (xs, e) | (SPat (Con _ i) xs, e) <- pes, eqIdent c i ] ++
[ (replicate k dummyIdent, dflt) ]
- in if length vs /= k then error "bad arity" else
- (SPat (Con cs c) vs, rhs)
+ in (SPat (Con cs c) vs, rhs)
in eCase var (map arm cs)
_ -> impossible
--
⑨