sig
type tenv = {
te_vars : (string * Types.typ) list;
te_ctors : (string * Types.typ) list;
te_rfields : (string * Types.typ) list;
te_defns : (string * Types.typ) list;
te_prims : (string * Types.typ_scheme) list;
}
val builtin_tenv : Typing.tenv
exception Undef_symbol of string * string * string
exception Type_error of Expr.t * Types.typ * Types.typ
exception Typing_error of string * string * Types.typ * Types.typ
exception Illegal_cast of Expr.t
exception Unbound_type_ctor of string
exception Invalid_record_access of Expr.t
val type_of_type_expr : Typing.tenv -> Type_expr.t -> Types.typ
val type_expression : Typing.tenv -> Expr.t -> Types.typ
val type_check_stim :
Typing.tenv -> string -> Types.typ -> Global.stim_desc -> unit
val type_fsm_model : Typing.tenv -> Fsm.model -> unit
val type_fsm_inst : Typing.tenv -> Fsm.inst -> unit
val dump_tenv : Pervasives.out_channel -> Typing.tenv -> unit
end