summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_compile/T21261.stderr
blob: 2af8b37a5d6661d23717f633fe3ee7aec9becd3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72

==================== Tidy Core ====================
Result size of Tidy Core
  = {terms: 182, types: 191, coercions: 0, joins: 0/0}

lvl = I# 3#

lvl1 = I# 4#

lvl2 = I# 1#

f2 = \ c -> case c lvl2 of { __DEFAULT -> c lvl lvl1 }

yes1or2 = f2

lvl3 = I# 2#

$wf4
  = \ c ->
      case c lvl2 lvl3 of { __DEFAULT ->
      case c lvl lvl1 of { __DEFAULT -> 42# }
      }

f4 = \ c -> case $wf4 c of ww { __DEFAULT -> I# ww }

no3
  = \ c ->
      case $wf4 (\ x y z -> c x y z) of ww { __DEFAULT -> I# ww }

f6 = \ c -> case c lvl2 of { __DEFAULT -> c lvl3 lvl }

no_tricky = \ c -> f6 (\ x y -> c x y)

$wf7 = \ c -> (# case c lvl2 of { __DEFAULT -> c lvl lvl1 } #)

f7 = \ c -> case $wf7 c of { (# ww #) -> Just ww }

no_tricky_lazy
  = \ c -> case $wf7 (\ x y -> c x y) of { (# ww #) -> Just ww }

$wf5
  = \ c ->
      (# case c lvl2 lvl3 of { I# x ->
         case c lvl lvl1 of { I# y -> I# (+# x y) }
         } #)

f5 = \ c -> case $wf5 c of { (# ww #) -> Just ww }

yes2_lazy = f5

$wf3
  = \ c ->
      case c lvl2 lvl3 of { I# x ->
      case c lvl lvl1 of { I# y -> +# x y }
      }

f3 = \ c -> case $wf3 c of ww { __DEFAULT -> I# ww }

yes2 = f3

$wf1
  = \ c ->
      case c lvl2 lvl3 of { I# x ->
      case c lvl lvl1 of { I# y -> +# x y }
      }

f1 = \ c -> case $wf1 c of ww { __DEFAULT -> I# ww }

yes1 = f1