Reduction
[hcoop/domtool2.git] / src / tycheck.sig
index 4562e3c..50a816f 100644 (file)
 
 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