comparison src/elab_err.sml @ 2206:c1a62ce47083

Merge.
author Ziv Scully <ziv@mit.edu>
date Tue, 27 May 2014 21:38:01 -0400
parents 799be3911ce3
children
comparison
equal deleted inserted replaced
2205:cdea39473c78 2206:c1a62ce47083
178 | Inexhaustive of ErrorMsg.span * pat 178 | Inexhaustive of ErrorMsg.span * pat
179 | DuplicatePatField of ErrorMsg.span * string 179 | DuplicatePatField of ErrorMsg.span * string
180 | Unresolvable of ErrorMsg.span * con 180 | Unresolvable of ErrorMsg.span * con
181 | OutOfContext of ErrorMsg.span * (exp * con) option 181 | OutOfContext of ErrorMsg.span * (exp * con) option
182 | IllegalRec of string * exp 182 | IllegalRec of string * exp
183 | IllegalFlex of Source.exp
183 184
184 val simplExp = U.Exp.mapB {kind = fn _ => fn k => k, 185 val simplExp = U.Exp.mapB {kind = fn _ => fn k => k,
185 con = fn env => fn c => #1 (ElabOps.reduceCon env (c, ErrorMsg.dummySpan)), 186 con = fn env => fn c => #1 (ElabOps.reduceCon env (c, ErrorMsg.dummySpan)),
186 exp = fn _ => fn e => e, 187 exp = fn _ => fn e => e,
187 bind = fn (env, U.Exp.RelC (x, k)) => E.pushCRel env x k 188 bind = fn (env, U.Exp.RelC (x, k)) => E.pushCRel env x k
249 (E.listClasses env)*)) 250 (E.listClasses env)*))
250 | IllegalRec (x, e) => 251 | IllegalRec (x, e) =>
251 (ErrorMsg.errorAt (#2 e) "Illegal 'val rec' righthand side (must be a function abstraction)"; 252 (ErrorMsg.errorAt (#2 e) "Illegal 'val rec' righthand side (must be a function abstraction)";
252 eprefaces' [("Variable", PD.string x), 253 eprefaces' [("Variable", PD.string x),
253 ("Expression", p_exp env e)]) 254 ("Expression", p_exp env e)])
255 | IllegalFlex e =>
256 (ErrorMsg.errorAt (#2 e) "Flex record syntax (\"...\") only allowed in patterns";
257 eprefaces' [("Expression", SourcePrint.p_exp e)])
254 258
255 259
256 datatype decl_error = 260 datatype decl_error =
257 KunifsRemain of decl list 261 KunifsRemain of decl list
258 | CunifsRemain of decl list 262 | CunifsRemain of decl list