From 4d4ef370867c32771e18c33dddcfdefd5995de00 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Thu, 20 Feb 2014 10:48:17 -0500 Subject: Fixed issue with datatype constructors inside functors; now on to some problem with modules inside functors --- src/expl_rename.sml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/expl_rename.sml') 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 -- cgit v1.2.3