comparison src/elab_err.sig @ 1639:6c00d8af6239

Add a new scoping check for unification variables, to fix a type inference bug
author Adam Chlipala <adam@chlipala.net>
date Sun, 18 Dec 2011 11:29:13 -0500
parents e525ad571e15
children 0bafdfae2ac7
comparison
equal deleted inserted replaced
1638:3bf727a08db8 1639:6c00d8af6239
33 val kindError : ElabEnv.env -> kind_error -> unit 33 val kindError : ElabEnv.env -> kind_error -> unit
34 34
35 datatype kunify_error = 35 datatype kunify_error =
36 KOccursCheckFailed of Elab.kind * Elab.kind 36 KOccursCheckFailed of Elab.kind * Elab.kind
37 | KIncompatible of Elab.kind * Elab.kind 37 | KIncompatible of Elab.kind * Elab.kind
38 | KScope of Elab.kind * Elab.kind
38 39
39 val kunifyError : ElabEnv.env -> kunify_error -> unit 40 val kunifyError : ElabEnv.env -> kunify_error -> unit
40 41
41 datatype con_error = 42 datatype con_error =
42 UnboundCon of ErrorMsg.span * string 43 UnboundCon of ErrorMsg.span * string
57 | CKindof of Elab.kind * Elab.con * string 58 | CKindof of Elab.kind * Elab.con * string
58 | CRecordFailure of Elab.con * Elab.con * (Elab.con * Elab.con * Elab.con * cunify_error option) option 59 | CRecordFailure of Elab.con * Elab.con * (Elab.con * Elab.con * Elab.con * cunify_error option) option
59 | TooLifty of ErrorMsg.span * ErrorMsg.span 60 | TooLifty of ErrorMsg.span * ErrorMsg.span
60 | TooUnify of Elab.con * Elab.con 61 | TooUnify of Elab.con * Elab.con
61 | TooDeep 62 | TooDeep
63 | CScope of Elab.con * Elab.con
62 64
63 val cunifyError : ElabEnv.env -> cunify_error -> unit 65 val cunifyError : ElabEnv.env -> cunify_error -> unit
64 66
65 datatype exp_error = 67 datatype exp_error =
66 UnboundExp of ErrorMsg.span * string 68 UnboundExp of ErrorMsg.span * string