summaryrefslogtreecommitdiff
path: root/src/elab_err.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2014-05-02 17:16:02 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2014-05-02 17:16:02 -0400
commit77b4d9b9397aefc41ae0c6465a75874c497d945c (patch)
tree1249a913f37685611f686a4c5db3475723c93d21 /src/elab_err.sml
parent1580340ec252e4e399c2c1d2b403974f49c3a084 (diff)
Monadic bind supports patterns
Diffstat (limited to 'src/elab_err.sml')
-rw-r--r--src/elab_err.sml4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/elab_err.sml b/src/elab_err.sml
index 4754d4ce..33daa118 100644
--- a/src/elab_err.sml
+++ b/src/elab_err.sml
@@ -180,6 +180,7 @@ datatype exp_error =
| Unresolvable of ErrorMsg.span * con
| OutOfContext of ErrorMsg.span * (exp * con) option
| IllegalRec of string * exp
+ | IllegalFlex of Source.exp
val simplExp = U.Exp.mapB {kind = fn _ => fn k => k,
con = fn env => fn c => #1 (ElabOps.reduceCon env (c, ErrorMsg.dummySpan)),
@@ -251,6 +252,9 @@ fun expError env err =
(ErrorMsg.errorAt (#2 e) "Illegal 'val rec' righthand side (must be a function abstraction)";
eprefaces' [("Variable", PD.string x),
("Expression", p_exp env e)])
+ | IllegalFlex e =>
+ (ErrorMsg.errorAt (#2 e) "Flex record syntax (\"...\") only allowed in patterns";
+ eprefaces' [("Expression", SourcePrint.p_exp e)])
datatype decl_error =