summaryrefslogtreecommitdiff
path: root/ghc/compiler/tests/deSugar/ds025.stderr
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