Mercurial > urweb
comparison src/core_util.sml @ 2241:2b1af5dc6dee
Merge.
author | Ziv Scully <ziv@mit.edu> |
---|---|
date | Sun, 19 Jul 2015 19:05:16 -0700 |
parents | af3f5b58aed2 |
children |
comparison
equal
deleted
inserted
replaced
2240:88cc0f44c940 | 2241:2b1af5dc6dee |
---|---|
201 fn () => compare (s1, s2)) | 201 fn () => compare (s1, s2)) |
202 | (CConcat _, _) => LESS | 202 | (CConcat _, _) => LESS |
203 | (_, CConcat _) => GREATER | 203 | (_, CConcat _) => GREATER |
204 | 204 |
205 | (CMap (d1, r1), CMap (d2, r2)) => | 205 | (CMap (d1, r1), CMap (d2, r2)) => |
206 join (Kind.compare (d1, r2), | 206 join (Kind.compare (d1, d2), |
207 fn () => Kind.compare (r1, r2)) | 207 fn () => Kind.compare (r1, r2)) |
208 | (CMap _, _) => LESS | 208 | (CMap _, _) => LESS |
209 | (_, CMap _) => GREATER | 209 | (_, CMap _) => GREATER |
210 | 210 |
211 | (CUnit, CUnit) => EQUAL | 211 | (CUnit, CUnit) => EQUAL |
605 case e of | 605 case e of |
606 EPrim _ => S.return2 eAll | 606 EPrim _ => S.return2 eAll |
607 | ERel _ => S.return2 eAll | 607 | ERel _ => S.return2 eAll |
608 | ENamed _ => S.return2 eAll | 608 | ENamed _ => S.return2 eAll |
609 | ECon (dk, pc, cs, NONE) => | 609 | ECon (dk, pc, cs, NONE) => |
610 S.map2 (ListUtil.mapfold (mfc ctx) cs, | 610 S.bind2 (mfpc ctx pc, |
611 fn cs' => | 611 fn pc' => |
612 (ECon (dk, pc, cs', NONE), loc)) | |
613 | ECon (dk, n, cs, SOME e) => | |
614 S.bind2 (mfe ctx e, | |
615 fn e' => | |
616 S.map2 (ListUtil.mapfold (mfc ctx) cs, | 612 S.map2 (ListUtil.mapfold (mfc ctx) cs, |
617 fn cs' => | 613 fn cs' => |
618 (ECon (dk, n, cs', SOME e'), loc))) | 614 (ECon (dk, pc', cs', NONE), loc))) |
615 | ECon (dk, pc, cs, SOME e) => | |
616 S.bind2 (mfpc ctx pc, | |
617 fn pc' => | |
618 S.bind2 (mfe ctx e, | |
619 fn e' => | |
620 S.map2 (ListUtil.mapfold (mfc ctx) cs, | |
621 fn cs' => | |
622 (ECon (dk, pc', cs', SOME e'), loc)))) | |
619 | EFfi _ => S.return2 eAll | 623 | EFfi _ => S.return2 eAll |
620 | EFfiApp (m, x, es) => | 624 | EFfiApp (m, x, es) => |
621 S.map2 (ListUtil.mapfold (mfet ctx) es, | 625 S.map2 (ListUtil.mapfold (mfet ctx) es, |
622 fn es' => | 626 fn es' => |
623 (EFfiApp (m, x, es'), loc)) | 627 (EFfiApp (m, x, es'), loc)) |