From 8184fe8f3af43f4b614b79c411fc3b5578645983 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Fri, 2 May 2014 17:16:02 -0400 Subject: Monadic bind supports patterns --- src/elaborate.sml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/elaborate.sml') diff --git a/src/elaborate.sml b/src/elaborate.sml index 5dd86f18..97ac610b 100644 --- a/src/elaborate.sml +++ b/src/elaborate.sml @@ -2183,8 +2183,13 @@ fun elabExp (env, denv) (eAll as (e, loc)) = (e', (#1 (chaseUnifs t'), loc), enD gs2 @ gs1) end - | L.ERecord xes => + | L.ERecord (xes, flex) => let + val () = if flex then + expError env (IllegalFlex eAll) + else + () + val (xes', gs) = ListUtil.foldlMap (fn ((x, e), gs) => let val (x', xk, gs1) = elabCon (env, denv) x -- cgit v1.2.3