Mercurial > urweb
comparison src/mono_reduce.sml @ 1489:4437b008e0ab
Narrow Maybe match case.
author | Karn Kallio <kkallio@eka> |
---|---|
date | Wed, 06 Jul 2011 18:54:23 -0430 |
parents | 6e6f1643c4e9 |
children | 0577be31a435 |
comparison
equal
deleted
inserted
replaced
1488:e2611b5dafce | 1489:4437b008e0ab |
---|---|
202 if Prim.equal (p, p') then | 202 if Prim.equal (p, p') then |
203 Yes env | 203 Yes env |
204 else | 204 else |
205 No | 205 No |
206 | 206 |
207 | (PCon (_, PConVar n1, NONE), ECon (_, PConVar n2, NONE)) => | 207 | (PCon (_, PConVar n1, po), ECon (_, PConVar n2, eo)) => |
208 if n1 = n2 then | 208 if n1 = n2 then |
209 Yes env | 209 case (po, eo) of |
210 else | 210 (NONE, NONE) => Yes env |
211 No | 211 | (SOME p, SOME e) => match (env, p, e) |
212 | 212 | _ => Maybe |
213 | (PCon (_, PConVar n1, SOME p), ECon (_, PConVar n2, SOME e)) => | |
214 if n1 = n2 then | |
215 match (env, p, e) | |
216 else | 213 else |
217 No | 214 No |
218 | 215 |
219 | (PCon (_, PConFfi {mod = m1, con = con1, ...}, NONE), ECon (_, PConFfi {mod = m2, con = con2, ...}, NONE)) => | 216 | (PCon (_, PConFfi {mod = m1, con = con1, ...}, NONE), ECon (_, PConFfi {mod = m2, con = con2, ...}, NONE)) => |
220 if m1 = m2 andalso con1 = con2 then | 217 if m1 = m2 andalso con1 = con2 then |