Module Library
This module provides functions to load, open and save libraries. Libraries correspond to the subclass of modules that coincide with a file on disk (the ".vo" files). Libraries on the disk comes with checksums (obtained with the Digest
module), which are checked at loading time to prevent inconsistencies between files written at various dates.
val require_library_from_dirpath : lib_resolver:(Names.DirPath.t -> CUnix.physical_path) -> (Names.DirPath.t * string) list -> bool option -> unit
...
Require = load in the environment + open (if the optional boolean is not
None
); mark also for export if the boolean isSome true
Start the compilation of a library
type seg_lib
type seg_univ
= Univ.ContextSet.t * bool
type seg_proofs
= Opaqueproof.opaque_proofterm array
type ('document, 'counters) todo_proofs
=
|
ProofsTodoNone
|
ProofsTodoSomeEmpty of Future.UUIDSet.t
|
ProofsTodoSome of Future.UUIDSet.t * ((Future.UUID.t, 'document) Stateid.request * bool) list * 'counters
val save_library_to : ('document, 'counters) todo_proofs -> output_native_objects:bool -> Names.DirPath.t -> string -> Opaqueproof.opaquetab -> unit
val load_library_todo : CUnix.physical_path -> seg_sum * seg_lib * seg_univ * 'tasks * seg_proofs
val save_library_raw : string -> seg_sum -> seg_lib -> seg_univ -> seg_proofs -> unit
Interrogate the status of libraries
val library_is_loaded : Names.DirPath.t -> bool
- Tell if a library is loaded
val loaded_libraries : unit -> Names.DirPath.t list
- Tell which libraries are loaded
val library_full_filename : Names.DirPath.t -> string
- Return the full filename of a loaded library.
val overwrite_library_filenames : string -> unit
- Overwrite the filename of all libraries (used when restoring a state)
val indirect_accessor : Opaqueproof.indirect_accessor
Opaque accessors