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
|