summaryrefslogtreecommitdiff
path: root/src/expl_rename.sml
diff options
context:
space:
mode:
Diffstat (limited to 'src/expl_rename.sml')
-rw-r--r--src/expl_rename.sml20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/expl_rename.sml b/src/expl_rename.sml
index 751c22e8..a17e0a3b 100644
--- a/src/expl_rename.sml
+++ b/src/expl_rename.sml
@@ -252,6 +252,12 @@ fun dupDecl (all as (d, loc), st) =
end
| DDatatype dts =>
let
+ val d = (DDatatype (map (fn (x, n, xs, cns) =>
+ (x, n, xs,
+ map (fn (x, n, co) =>
+ (x, n, Option.map (renameCon st) co)) cns)) dts),
+ loc)
+
val (dts', st) = ListUtil.foldlMap (fn ((x, n, xs, cns), st) =>
let
val (st, n') = St.bind (st, n)
@@ -268,12 +274,6 @@ fun dupDecl (all as (d, loc), st) =
((x, n, length xs, n', cns'), st)
end) st dts
- val d = (DDatatype (map (fn (x, n, xs, cns) =>
- (x, n, xs,
- map (fn (x, n, co) =>
- (x, n, Option.map (renameCon st) co)) cns)) dts),
- loc)
-
val env = E.declBinds E.empty d
in
(d
@@ -287,6 +287,10 @@ fun dupDecl (all as (d, loc), st) =
end
| DDatatypeImp (x, n, n', xs, x', xs', cns) =>
let
+ val d = (DDatatypeImp (x, n, n', xs, x', xs',
+ map (fn (x, n, co) =>
+ (x, n, Option.map (renameCon st) co)) cns), loc)
+
val (cns', st) = ListUtil.foldlMap
(fn ((x, n, _), st) =>
let
@@ -298,10 +302,6 @@ fun dupDecl (all as (d, loc), st) =
val (st, n') = St.bind (st, n)
- val d = (DDatatypeImp (x, n, n', xs, x', xs',
- map (fn (x, n, co) =>
- (x, n, Option.map (renameCon st) co)) cns), loc)
-
val env = E.declBinds E.empty d
in
(d