Module Declaremods
Modules
type module_kind
=
|
Module
|
ModType
|
ModAny
type 'modast module_interpretor
= Environ.env -> module_kind -> 'modast -> Entries.module_struct_entry * module_kind * Univ.ContextSet.t
type 'modast module_params
= (Names.lident list * ('modast * inline)) list
val declare_module : 'modast module_interpretor -> Names.Id.t -> 'modast module_params -> ('modast * inline) module_signature -> ('modast * inline) list -> Names.ModPath.t
val start_module : 'modast module_interpretor -> bool option -> Names.Id.t -> 'modast module_params -> ('modast * inline) module_signature -> Names.ModPath.t
val end_module : unit -> Names.ModPath.t
Module types
val declare_modtype : 'modast module_interpretor -> Names.Id.t -> 'modast module_params -> ('modast * inline) list -> ('modast * inline) list -> Names.ModPath.t
val start_modtype : 'modast module_interpretor -> Names.Id.t -> 'modast module_params -> ('modast * inline) list -> Names.ModPath.t
val end_modtype : unit -> Names.ModPath.t
Libraries i.e. modules on disk
type library_name
= Names.DirPath.t
type library_objects
val register_library : library_name -> Safe_typing.compiled_library -> library_objects -> Safe_typing.vodigest -> Univ.ContextSet.t -> unit
val get_library_native_symbols : library_name -> Nativecode.symbols
val start_library : library_name -> unit
val end_library : ?except:Future.UUIDSet.t -> output_native_objects:bool -> library_name -> Safe_typing.compiled_library * library_objects * Safe_typing.native_library
val append_end_library_hook : (unit -> unit) -> unit
append a function to be executed at end_library
val really_import_module : Names.ModPath.t -> unit
val import_module : bool -> Names.ModPath.t -> unit
val declare_include : 'modast module_interpretor -> ('modast * inline) list -> unit
...
val iter_all_segments : (Libobject.object_name -> Libobject.obj -> unit) -> unit
val debug_print_modtab : unit -> Pp.t
val process_module_binding : Names.MBId.t -> Declarations.module_alg_expr -> unit