package functoria
Signature for configurable module implementations. A configurable
is a module implementation which contains a runtime state which can be set either at configuration time (by the application builder) or at runtime, using command-line arguments.
method ty : 'ty typ
ty
is the module type of the configurable.
method packages : string list value
packages
is the list of OPAM packages which needs to be installed before compiling the configurable.
method libraries : string list value
libraries
is the list of OCamlfind libraries to include and link with the configurable.
method connect : Info.t -> string -> string list -> string
connect info mod args
is the code to execute in order to initialize the state associated with the module mod
(usually calling mod.connect
) with the arguments args
, in the context of the project information info
.
method configure : Info.t -> (unit, string) Rresult.result
configure info
is the code to execute in order to configure the device. This might involve generating more OCaml code, running bash scripts, etc.
method clean : Info.t -> (unit, string) Rresult.result
clean info
is the code to clean-up what has been generated by configure
.
method keys : key list
keys
is the list of command-line keys to set-up the configurable.
method deps : abstract_impl list
deps
is the list of abstract implementations that must be initialized before calling connect
.