comparison src/core_util.sml @ 908:ed06e25c70ef

Convert to requiring explicit 'rpc' marker
author Adam Chlipala <adamc@hcoop.net>
date Sat, 22 Aug 2009 12:55:18 -0400
parents 61a1f5c5ae2c
children 2a50da66ffd8
comparison
equal deleted inserted replaced
907:5fe49effbc83 908:ed06e25c70ef
530 join (compare (x1, x2), 530 join (compare (x1, x2),
531 fn () => compare (e1, e2)) 531 fn () => compare (e1, e2))
532 | (ELet _, _) => LESS 532 | (ELet _, _) => LESS
533 | (_, ELet _) => GREATER 533 | (_, ELet _) => GREATER
534 534
535 | (EServerCall (n1, es1, e1, _), EServerCall (n2, es2, e2, _)) => 535 | (EServerCall (n1, es1, e1, _, _), EServerCall (n2, es2, e2, _, _)) =>
536 join (Int.compare (n1, n2), 536 join (Int.compare (n1, n2),
537 fn () => join (joinL compare (es1, es2), 537 fn () => join (joinL compare (es1, es2),
538 fn () => compare (e1, e2))) 538 fn () => compare (e1, e2)))
539 | (EServerCall _, _) => LESS 539 | (EServerCall _, _) => LESS
540 | (_, EServerCall _) => GREATER 540 | (_, EServerCall _) => GREATER
716 fn e1' => 716 fn e1' =>
717 S.map2 (mfe (bind (ctx, RelE (x, t'))) e2, 717 S.map2 (mfe (bind (ctx, RelE (x, t'))) e2,
718 fn e2' => 718 fn e2' =>
719 (ELet (x, t', e1', e2'), loc)))) 719 (ELet (x, t', e1', e2'), loc))))
720 720
721 | EServerCall (n, es, e, t) => 721 | EServerCall (n, es, e, t1, t2) =>
722 S.bind2 (ListUtil.mapfold (mfe ctx) es, 722 S.bind2 (ListUtil.mapfold (mfe ctx) es,
723 fn es' => 723 fn es' =>
724 S.bind2 (mfe ctx e, 724 S.bind2 (mfe ctx e,
725 fn e' => 725 fn e' =>
726 S.map2 (mfc ctx t, 726 S.bind2 (mfc ctx t1,
727 fn t' => 727 fn t1' =>
728 (EServerCall (n, es', e', t'), loc)))) 728 S.map2 (mfc ctx t2,
729 fn t2' =>
730 (EServerCall (n, es', e', t1', t2'), loc)))))
729 731
730 | EKAbs (x, e) => 732 | EKAbs (x, e) =>
731 S.map2 (mfe (bind (ctx, RelK x)) e, 733 S.map2 (mfe (bind (ctx, RelK x)) e,
732 fn e' => 734 fn e' =>
733 (EKAbs (x, e'), loc)) 735 (EKAbs (x, e'), loc))