Dolmen_loop.Typermodule T :
Dolmen_type.Tff.S
with type 'a Tag.t = 'a Dolmen.Std.Tag.t
and type Ty.t = Dolmen.Std.Expr.ty
and type Ty.Var.t = Dolmen.Std.Expr.ty_var
and type Ty.Const.t = Dolmen.Std.Expr.ty_cst
and type T.t = Dolmen.Std.Expr.term
and type T.Var.t = Dolmen.Std.Expr.term_var
and type T.Const.t = Dolmen.Std.Expr.term_cst
and type T.Cstr.t = Dolmen.Std.Expr.term_cstThe raw type-checker module.
The type of state used by the Make functor.
val new_state : unit -> ty_stateGenerate a fresh typing state.
val almost_linear : string Report.Warning.tAlmost linear warning.
module type Typer_Full = Typer_intf.Typer_Fullmodule Typer
(State : State.S) :
Typer_Full
with type state = State.t
and type 'a key := 'a State.key
and type ty_state = ty_state
and type env = T.env
and type 'a fragment = 'a T.fragment
and type error = T.error
and type warning = T.warning
and type builtin_symbols = T.builtin_symbolsmodule type Typer = Typer_intf.Typermodule type S = Typer_intf.Smodule Make
(Expr : Expr_intf.S)
(Print :
Expr_intf.Print
with type ty := Expr.ty
and type ty_var := Expr.ty_var
and type ty_cst := Expr.ty_cst
and type term := Expr.term
and type term_var := Expr.term_var
and type term_cst := Expr.term_cst
and type formula := Expr.formula)
(State : State.S)
(Typer :
Typer
with type state := State.t
and type ty := Expr.ty
and type ty_var := Expr.ty_var
and type ty_cst := Expr.ty_cst
and type term := Expr.term
and type term_var := Expr.term_var
and type term_cst := Expr.term_cst
and type formula := Expr.formula) :
S
with type state := State.t
and type 'a key := 'a State.key
and type ty := Expr.ty
and type ty_var := Expr.ty_var
and type ty_cst := Expr.ty_cst
and type term := Expr.term
and type term_var := Expr.term_var
and type term_cst := Expr.term_cst
and type formula := Expr.formula