X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/234b917a6149413bbbeab7dccfaeab5f16e43fe1..77a8fca278b561808959fa1aa7d9f02c5cfe7720:/src/tycheck.sig diff --git a/src/tycheck.sig b/src/tycheck.sig index a86ae37..19ec6d4 100644 --- a/src/tycheck.sig +++ b/src/tycheck.sig @@ -14,23 +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 - val empty : env + val checkTyp : Env.env -> Ast.typ -> Ast.typ - val checkTyp : 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 -> Ast.decl -> env + 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 checkFile : env -> Ast.typ -> Ast.file -> env + val allowExterns : unit -> unit + val disallowExterns : unit -> unit end