Modintern
Module internalization errors
type module_internalization_error =
| NotAModuleNorModtype of Libnames.qualid |
| NotAModuleType of Libnames.qualid |
| NotAModule of Libnames.qualid |
| IncorrectWithInModule |
| IncorrectModuleApplication |
exception ModuleInternalizationError of module_internalization_error
Module expressions and module types are interpreted relatively to possible functor or functor signature arguments. When the input kind is ModAny (i.e. module or module type), we tries to interprete this ast as a module, and in case of failure, as a module type. The returned kind is never ModAny, and it is equal to the input kind when this one isn't ModAny.
type module_struct_expr = (Constrexpr.universe_decl_expr option * Constrexpr.constr_expr) Declarations.module_alg_expr
val intern_module_ast : module_kind -> Constrexpr.module_ast -> module_struct_expr * Names.ModPath.t * module_kind
Module internalization, i.e. from AST to module expression
val interp_module_ast : Environ.env -> module_kind -> Names.ModPath.t -> module_struct_expr -> Entries.module_struct_entry * Univ.ContextSet.t
Module interpretation, i.e. from module expression to typed module entry