Module Compiler.Side_effect

In some cases, we are not interested by the module, but rather because it uses a side effect registering mechanism.

type t
val load_ocaml_src_files : (string list -> t Async.Deferred.Or_error.t) create_arguments
val load_ocaml_src_files_without_running_them : (string list -> (unit -> t) Async.Deferred.Or_error.t) create_arguments
val check_ocaml_src_files : (string list -> unit Async.Deferred.Or_error.t) create_arguments
val check_plugin_cmd : unit -> Async.Command.t

Command that checks that the anon files given compile and match the interface X given. Also provides a -ocamldep mode allowing only the main file to be passed on the command line.

module Load : Dynloader.S with type t := t

Load contains functions similar to the ones above, and can be used if you want to separate extraction of the compiler from building/loading files. It can be useful if you want to extract the compiler upfront (to improve latency a bit) or if you want to share the cost of extracting the compiler for the current executable over multiple compilations. Probably not needed by the casual user.