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