ModopsFunctors
val is_functor : ('ty, 'a) Declarations.functorize -> boolval destr_functor : ('ty, 'a) Declarations.functorize -> Names.MBId.t * 'ty * ('ty, 'a) Declarations.functorizeval destr_nofunctor : Names.ModPath.t -> ('ty, 'a) Declarations.functorize -> 'aConversions between module_body and module_type_body
val module_type_of_module : Declarations.module_body -> Declarations.module_type_bodyval module_body_of_type : Names.ModPath.t -> Declarations.module_type_body -> Declarations.module_bodyval check_modpath_equiv : Environ.env -> Names.ModPath.t -> Names.ModPath.t -> unitval implem_smart_map : (Declarations.module_signature -> Declarations.module_signature) -> (Declarations.module_expression -> Declarations.module_expression) -> Declarations.module_implementation -> Declarations.module_implementationval subst_signature : Mod_subst.substitution -> Declarations.module_signature -> Declarations.module_signatureval subst_structure : Mod_subst.substitution -> Declarations.structure_body -> Declarations.structure_bodyval add_structure : Names.ModPath.t -> Declarations.structure_body -> Mod_subst.delta_resolver -> Environ.env -> Environ.envval add_module : Declarations.module_body -> Environ.env -> Environ.envadds a module and its components, but not the constraints
val add_linked_module : Declarations.module_body -> Environ.link_info -> Environ.env -> Environ.envsame as add_module, but for a module whose native code has been linked by the native compiler. The linking information is updated.
val add_module_type : Names.ModPath.t -> Declarations.module_type_body -> Environ.env -> Environ.envsame, for a module type
val add_retroknowledge : Declarations.module_implementation Declarations.module_retroknowledge -> Environ.env -> Environ.envval strengthen : Declarations.module_type_body -> Names.ModPath.t -> Declarations.module_type_bodyval strengthen_and_subst_module_body : Declarations.module_body -> Names.ModPath.t -> bool -> Declarations.module_bodyval subst_modtype_signature_and_resolver : Names.ModPath.t -> Names.ModPath.t -> Declarations.module_signature -> Mod_subst.delta_resolver -> Declarations.module_signature * Mod_subst.delta_resolverval inline_delta_resolver : Environ.env -> Entries.inline -> Names.ModPath.t -> Names.MBId.t -> Declarations.module_type_body -> Mod_subst.delta_resolver -> Mod_subst.delta_resolverFor instance: functor(X:T)->struct module M:=X end) becomes: functor(X:T)->struct module M:=<content of T> end)
val clean_bounded_mod_expr : Declarations.module_signature -> Declarations.module_signaturetype signature_mismatch_error = | | InductiveFieldExpected of Declarations.mutual_inductive_body | ||
| | DefinitionFieldExpected | ||
| | ModuleFieldExpected | ||
| | ModuleTypeFieldExpected | ||
| | NotConvertibleInductiveField of Names.Id.t | ||
| | NotConvertibleConstructorField of Names.Id.t | ||
| | NotConvertibleBodyField | ||
| | NotConvertibleTypeField of Environ.env * Constr.types * Constr.types | ||
| | CumulativeStatusExpected of bool | ||
| | PolymorphicStatusExpected of bool | ||
| | NotSameConstructorNamesField | ||
| | NotSameInductiveNameInBlockField | ||
| | FiniteInductiveFieldExpected of bool | ||
| | InductiveNumbersFieldExpected of int | ||
| | InductiveParamsNumberField of int | ||
| | RecordFieldExpected of bool | ||
| | RecordProjectionsExpected of Names.Name.t list | ||
| | NotEqualInductiveAliases | ||
| | IncompatibleUniverses of UGraph.univ_inconsistency | ||
| | IncompatiblePolymorphism of Environ.env * Constr.types * Constr.types | ||
| | IncompatibleConstraints of {
 } | ||
| | IncompatibleVariance | 
type module_typing_error = | | SignatureMismatch of Names.Label.t * Declarations.structure_field_body * signature_mismatch_error | 
| | LabelAlreadyDeclared of Names.Label.t | 
| | NotAFunctor | 
| | IsAFunctor of Names.ModPath.t | 
| | IncompatibleModuleTypes of Declarations.module_type_body * Declarations.module_type_body | 
| | NotEqualModulePaths of Names.ModPath.t * Names.ModPath.t | 
| | NoSuchLabel of Names.Label.t * Names.ModPath.t | 
| | NotAModuleLabel of Names.Label.t | 
| | NotAConstant of Names.Label.t | 
| | IncorrectWithConstraint of Names.Label.t | 
| | GenerativeModuleExpected of Names.Label.t | 
| | LabelMissing of Names.Label.t * string | 
| | IncludeRestrictedFunctor of Names.ModPath.t | 
exception ModuleTypingError of module_typing_errorval error_existing_label : Names.Label.t -> 'aval error_incompatible_modtypes : Declarations.module_type_body -> Declarations.module_type_body -> 'aval error_signature_mismatch : Names.Label.t -> Declarations.structure_field_body -> signature_mismatch_error -> 'aval error_no_such_label : Names.Label.t -> Names.ModPath.t -> 'aval error_not_a_module_label : Names.Label.t -> 'aval error_not_a_constant : Names.Label.t -> 'aval error_incorrect_with_constraint : Names.Label.t -> 'aval error_generative_module_expected : Names.Label.t -> 'aval error_no_such_label_sub : Names.Label.t -> string -> 'aval error_include_restricted_functor : Names.ModPath.t -> 'a