type t
exception NonExhaustive of Cduce_types.Types.descrexception Constraint of Cduce_types.Types.descr * Cduce_types.Types.descrexception ShouldHave of Cduce_types.Types.descr * stringexception WrongLabel of Cduce_types.Types.descr * Cduce_types.Ident.labelexception UnboundId of Cduce_types.Ident.id * boolexception UnboundExtId of Cduce_types.Compunit.t * Cduce_types.Ident.idexception ShouldHave2 of Cduce_types.Types.descr * string * Cduce_types.Types.descrexception Error of stringexception Warning of string * Cduce_types.Types.t
val empty_env : tval register_types : string -> t -> unitval find_value : Cduce_types.Ident.id -> t -> Cduce_types.Types.tval enter_type : Cduce_types.Ident.id -> (Cduce_types.Types.t * Cduce_types.Var.t list) -> t -> tval iter_values : t -> (Cduce_types.Ident.id -> Cduce_types.Types.t -> unit) -> unitval typ : t -> Cduce_core.Ast.ppat -> Cduce_types.Types.Node.tval var_typ : (Encodings.Utf8.t * Cduce_types.Var.t) list -> t -> Cduce_core.Ast.ppat -> Cduce_types.Types.Node.tval pat : t -> Cduce_core.Ast.ppat -> Cduce_core.Patterns.nodeval dump_types : Stdlib.Format.formatter -> t -> unitval dump_ns : Stdlib.Format.formatter -> t -> unitval set_ns_table_for_printer : t -> unitval type_using : t -> Cduce_core.Cduce_loc.loc -> Encodings.Utf8.t -> Encodings.Utf8.t -> tval type_schema : t -> Cduce_core.Cduce_loc.loc -> Encodings.Utf8.t -> string -> tval type_ns : t -> Cduce_core.Cduce_loc.loc -> Encodings.Utf8.t -> Cduce_core.Ast.ns_expr -> tval type_open : t -> Cduce_core.Cduce_loc.loc -> Encodings.Utf8.t list -> tval type_keep_ns : t -> bool -> tval type_expr : t -> Cduce_core.Ast.pexpr -> t * Cduce_core.Typed.texpr * Cduce_types.Types.descrval type_defs : t -> (Cduce_core.Cduce_loc.loc * Encodings.Utf8.t * Encodings.Utf8.t list * Cduce_core.Ast.ppat) list -> tval type_let_decl : t -> Cduce_core.Ast.ppat -> Cduce_core.Ast.pexpr -> t * Cduce_core.Typed.let_decl * (Cduce_types.Ident.id * Cduce_types.Types.t) listval type_let_funs : t -> Cduce_core.Ast.pexpr list -> t * Cduce_core.Typed.texpr list * (Cduce_types.Ident.id * Cduce_types.Types.t) listval check_weak_variables : t -> unit
type type_fun = Cduce_types.Types.t -> bool -> Cduce_types.Types.t
val register_op : string -> int -> (type_fun list -> type_fun) -> unitval flatten : type_fun -> type_funval from_comp_unit : (Cduce_types.Compunit.t -> t) Stdlib.refval load_comp_unit : (Encodings.Utf8.t -> Cduce_types.Compunit.t) Stdlib.refval has_ocaml_unit : (Encodings.Utf8.t -> bool) Stdlib.refval has_static_external : (string -> bool) Stdlib.ref