module Dynloader : sig ... end
Ocaml plugin loader, from ocaml source file. Wrapper around Dynlink module, including on the fly async ocaml compilation.
module Compiler : sig ... end
module Plugin_cache : sig ... end
This cache avoid recompilation of sources if there are no changes in the files. Since we want the side effects to be executed in case of a re-loading, this isn't a cache of dynloading. The purpose of this cache is to speed up the initialization of programs relying on an ml config set up. The cache is meant to be persistent between different executions of the program. Basically, cmxs files are stored in a specific location. This is not a ram cache. This module handles version upgrades. The info file contains the version of the executable using the cache. If the version doesn't match, the cache is deleted (or just skipped if no write access).
module Private : sig ... end
module Std : sig ... end