diff options
Diffstat (limited to 'src/core_util.sml')
-rw-r--r-- | src/core_util.sml | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core_util.sml b/src/core_util.sml index a9d022b6..8d9a6529 100644 --- a/src/core_util.sml +++ b/src/core_util.sml @@ -245,12 +245,14 @@ fun mapfoldB {kind = fk, con = fc, exp = fe, bind} = (ECAbs (x, k', e'), loc))) | ERecord xes => - S.map2 (ListUtil.mapfold (fn (x, e) => + S.map2 (ListUtil.mapfold (fn (x, e, t) => S.bind2 (mfc ctx x, fn x' => - S.map2 (mfe ctx e, - fn e' => - (x', e')))) + S.bind2 (mfe ctx e, + fn e' => + S.map2 (mfc ctx t, + fn t' => + (x', e', t'))))) xes, fn xes' => (ERecord xes', loc)) |