blob: 72e8c6776f11dcf893d6cc756fcb93c7181011ad (
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
73
74
75
76
77
78
79
80
81
82
83
84
|
Desugared:
Util.ehead :: for all a. [a] -> [Char] -> a
Util.ehead =
/\ a -> \ xs.152 loc.153 ->
let
fail.154 =
(error a)
"\"ds025.hs\", line 8: pattern-matching failure [function binding]\n"S
in
case ((null a) xs.152) of {
True -> (error a) ((++ Char) "4"S loc.153)
False -> (head a) xs.152
}
Util.assoc :: for all a, a. <Eq a> -> <Text a> -> a -> [(a, a)] -> [Char] -> a
Util.assoc =
/\ a a -> \ dict.120 dict.128 key.165 lst.166 loc.167 ->
let
res.174 =
let
{- CoRec -}
ds.168 =
\ ds.169 ->
case ds.169 of {
Nil -> Nil a
(:) ds.170 ds.171 ->
case ds.170 of {
MkTuple2 key'.172 val.173 ->
case ((== a) dict.120 key.165 key'.172) of {
True -> (: a) val.173 (ds.168 ds.171)
False -> ds.168 ds.171
}
}
}
{- end CoRec -}
in ds.168 lst.166
in
case ((null a) res.174) of {
True ->
(error a)
((++ Char)
"1"S
((++ Char)
loc.167
((++ Char) "2"S ((show a) dict.128 key.165))))
False -> (Util.ehead a) res.174 "3"S
}
Util.assocMaybe :: for all a, b. <Eq a> -> a -> [(a, b)] -> Util.Maybe b
Util.assocMaybe =
/\ a b -> \ dict.150 ->
let dict.142 = dict.150 in
let
assocMaybe.134 =
\ key.80 lst.81 ->
let
res.82 =
let
{- CoRec -}
ds.179 =
\ ds.180 ->
case ds.180 of {
Nil -> Nil b
(:) ds.181 ds.182 ->
case ds.181 of {
MkTuple2 key'.183 val.184 ->
case
((== a)
dict.142 key.80 key'.183)
of {
True ->
(: b)
val.184 (ds.179 ds.182)
False -> ds.179 ds.182
}
}
}
{- end CoRec -}
in ds.179 lst.81
in
case ((null b) res.82) of {
True -> Util.Nothing b
False -> (Util.Just b) ((head b) res.82)
}
in assocMaybe.134
|