diff options
Diffstat (limited to 'src/cloconv.sml')
-rw-r--r-- | src/cloconv.sml | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cloconv.sml b/src/cloconv.sml index 8e962f17..b403b659 100644 --- a/src/cloconv.sml +++ b/src/cloconv.sml @@ -55,10 +55,10 @@ val subExpInExp = exp = fn (xn, rep) => fn e => case e of L'.ERel xn' => - if xn = xn' then - #1 rep - else - e + (case Int.compare (xn', xn) of + EQUAL => #1 rep + | GREATER => L'.ERel (xn' - 1) + | _ => e) | _ => e, bind = fn ((xn, rep), U.Exp.RelE _) => (xn+1, liftExpInExp 0 rep) | (ctx, _) => ctx} |