summaryrefslogtreecommitdiff
path: root/src/reduce.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-10-31 09:30:22 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-10-31 09:30:22 -0400
commit389aae9254a3bdee3e79bb75b7355de270f2e8dd (patch)
tree81322ab53b15b0d76854756431ac4c662825ad59 /src/reduce.sml
parent565f72b0d162990dcfcb91873102915bf8b9b3d7 (diff)
Replace 'with' with '++'
Diffstat (limited to 'src/reduce.sml')
-rw-r--r--src/reduce.sml8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/reduce.sml b/src/reduce.sml
index 8dc4527f..1404b598 100644
--- a/src/reduce.sml
+++ b/src/reduce.sml
@@ -107,18 +107,18 @@ fun exp env e =
| _ => false) xes of
SOME (_, e, _) => #1 e
| NONE => e)
- | EWith (r as (_, loc), x, e, {rest = (CRecord (k, xts), _), field}) =>
+ | EConcat (r1 as (_, loc), (CRecord (k, xts1), _), r2, (CRecord (_, xts2), _)) =>
let
- fun fields (remaining, passed) =
+ fun fields (r, remaining, passed) =
case remaining of
[] => []
| (x, t) :: rest =>
(x,
(EField (r, x, {field = t,
rest = (CRecord (k, List.revAppend (passed, rest)), loc)}), loc),
- t) :: fields (rest, (x, t) :: passed)
+ t) :: fields (r, rest, (x, t) :: passed)
in
- #1 (reduceExp env (ERecord ((x, e, field) :: fields (xts, [])), loc))
+ #1 (reduceExp env (ERecord (fields (r1, xts1, []) @ fields (r2, xts2, [])), loc))
end
| ECut (r as (_, loc), _, {rest = (CRecord (k, xts), _), ...}) =>
let