X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/27d9de59634e853cac7adf09c9a7f82b3da5fcdc..411a85f26421358c20b11839310cce6caff8cf77:/src/tycheck.sig diff --git a/src/tycheck.sig b/src/tycheck.sig index 4562e3c..19ec6d4 100644 --- a/src/tycheck.sig +++ b/src/tycheck.sig @@ -14,18 +14,28 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*) + *) (* Domtool configuration language type checking *) 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' + + val preface : string * Print.PD.pp_desc -> unit + + val allowExterns : unit -> unit + val disallowExterns : unit -> unit + end