Up

module Typedecl

: sig
#
val transl_type_decl : Env.t -> Parsetree.type_declaration list -> Typedtree.type_declaration list * Env.t
#
val transl_type_extension : bool -> Env.t -> Location.t -> Parsetree.type_extension -> Typedtree.type_extension * Env.t
#
val transl_value_decl : Env.t -> Location.t -> Parsetree.value_description -> Typedtree.value_description * Env.t
#
val transl_with_constraint : Env.t -> Ident.t -> Path.t option -> Types.type_declaration -> Parsetree.type_declaration -> Typedtree.type_declaration
#
val abstract_type_decl : int -> Types.type_declaration
#
val approx_type_decl : Env.t -> Parsetree.type_declaration list -> (Ident.t * Types.type_declaration) list
#
val check_recmod_typedecl : Env.t -> Location.t -> Ident.t list -> Path.t -> Types.type_declaration -> unit
#
val check_coherence : Env.t -> Location.t -> Ident.t -> Types.type_declaration -> unit
#
val is_fixed_type : Parsetree.type_declaration -> bool
#
type error =
# | Repeated_parameter
# | Duplicate_constructor of string
# | Too_many_constructors
# | Duplicate_label of string
# | Recursive_abbrev of string
# | Cycle_in_def of string * Types.type_expr
# | Definition_mismatch of Types.type_expr * Includecore.type_mismatch list
# | Constraint_failed of Types.type_expr * Types.type_expr
# | Inconsistent_constraint of Env.t * (Types.type_expr * Types.type_expr) list
# | Type_clash of Env.t * (Types.type_expr * Types.type_expr) list
# | Parameters_differ of Path.t * Types.type_expr * Types.type_expr
# | Null_arity_external
# | Missing_native_external
# | Unbound_type_var of Types.type_expr * Types.type_declaration
# | Not_open_type of Path.t
# | Not_extensible_type of Path.t
# | Extension_mismatch of Path.t * Includecore.type_mismatch list
# | Rebind_wrong_type of Longident.t * Env.t * (Types.type_expr * Types.type_expr) list
# | Rebind_mismatch of Longident.t * Path.t * Path.t
# | Rebind_private of Longident.t
# | Bad_variance of int * (bool * bool * bool) * (bool * bool * bool)
# | Unavailable_type_constructor of Path.t
# | Bad_fixed_type of string
# | Unbound_type_var_ext of Types.type_expr * Types.extension_constructor
# | Varying_anonymous
#
exception Error of Location.t * error
#
val report_error : Format.formatter -> error -> unit
end