sig
val opposite : Parsetree.relation_side -> Parsetree.relation_side
val name_of_longident : Longident.t -> string
val name_of_generator : Parsetree.generator -> string
val qualified_name_of_longident : Longident.t -> string
val qualified_name_of_generator : Parsetree.generator -> string
val mk_rel : Parsetree.rel_desc -> Parsetree.relation
val mk_type : Parsetree.core_type_desc -> Parsetree.core_type
val var_type : string -> Parsetree.core_type
val constr_type : string -> Parsetree.core_type list -> Parsetree.core_type
val poly_type : string -> string list -> Parsetree.core_type
val constant_type : string -> Parsetree.core_type
val bool_type : Parsetree.core_type
val arrow_type :
Parsetree.core_type -> Parsetree.core_type -> Parsetree.core_type
val tuple_type : Parsetree.core_type list -> Parsetree.core_type
val list_type : Parsetree.core_type -> Parsetree.core_type
val type_of_eq : string -> string list -> Parsetree.core_type
val projection_type :
string -> string list -> Parsetree.core_type -> Parsetree.core_type
val injection_type :
string -> string list -> Parsetree.core_type -> Parsetree.core_type
val is_type_list : Parsetree.core_type -> bool
val argument_of_type_list : Parsetree.core_type list -> Parsetree.core_type
val eq_type : Parsetree.core_type -> Parsetree.core_type -> bool
val compare_core_type : Parsetree.core_type -> Parsetree.core_type -> int
val subst :
(string * Parsetree.core_type) list ->
Parsetree.core_type list -> Parsetree.core_type list
val add_rules :
Parsetree.relation list -> Parsetree.relations -> Parsetree.relations
val remove_rules : Parsetree.relations -> Parsetree.relations
val remove_rules_in_type_declaration :
Parsetree.type_declaration -> Parsetree.type_declaration
val comment_relations_in_type_declaration :
Parsetree.type_declaration -> Parsetree.type_declaration
val make_public_type_declaration :
Parsetree.type_declaration -> Parsetree.type_declaration
val get_structure_items_of_type_declaration :
Parsetree.type_declaration -> Parsetree.structure_item list
val is_variant_type_declaration : Parsetree.type_declaration -> bool
val is_private_type_declaration : Parsetree.type_declaration -> bool
val is_private_variant_type_declaration :
Parsetree.type_declaration -> bool
type constructor_definition =
string * Parsetree.core_type list * Parsetree.relations * Location.t
val generator_of_cdef : Otype.constructor_definition -> Parsetree.generator
val relations_of_cdef : Otype.constructor_definition -> Parsetree.relations
val arity_of_cdef : Otype.constructor_definition -> int
val has_relations : Parsetree.relations -> bool
val has_relations_cdef : Otype.constructor_definition -> bool
val has_relations_cdefs : Otype.constructor_definition list -> bool
val norm : Parsetree.relations -> Parsetree.relations
val mk_pat : Parsetree.pattern_desc -> Parsetree.pattern
val mk_exp : Parsetree.expression_desc -> Parsetree.expression
val mk_when :
Parsetree.expression -> Parsetree.expression -> Parsetree.expression
val mk_apply :
Parsetree.expression -> Parsetree.expression list -> Parsetree.expression
val mk_ident : string -> Parsetree.expression
end