Factor error message generation into a separate file; add '-tc' flag to domtool-client
[hcoop/domtool2.git] / src / ast.sml
index ba00f78..0e8688d 100644 (file)
@@ -105,4 +105,17 @@ type file = string option * decl list * exp option
 fun multiApp (f, loc, args) =
     foldl (fn (arg, e) => (EApp (e, arg), loc)) f args
 
+datatype unification_error =
+        UnifyPred of pred * pred
+       | UnifyTyp of typ * typ
+       | UnifyOccurs of string * typ
+
+exception Unify of unification_error
+
+datatype type_error =
+        WrongType of string * exp * typ * typ * unification_error option
+       | WrongForm of string * string * exp * typ * unification_error option
+       | UnboundVariable of string
+       | WrongPred of string * pred * pred
+
 end