signature TYCHECK = sig
- type env = Ast.typ Ast.StringMap.map
- val empty : env
+ val checkTyp : Env.env -> Ast.typ -> Ast.typ
- val checkExp : env -> Ast.exp -> Ast.typ
-
- val checkUnit : env -> Ast.exp -> Ast.typ
+ val checkExp : Env.env -> Ast.exp -> Ast.typ
+ val checkUnit : Env.env -> Ast.exp -> Ast.typ
(* [checkUnit] checks that all unification variables have been resolved. *)
+ val checkDecl : Env.env -> Ast.decl -> Env.env
+
+ val checkFile : Env.env -> Ast.typ -> Ast.file -> Env.env
+
+ val resetUnif : unit -> unit
+ val newUnif : unit -> Ast.typ'
+
end