Functoria.KeyConfiguration command-line arguments.
module Arg : sig ... endTerms for cross-stage arguments.
The type for configuration keys. Keys are used to parameterize the choice of module implementation.
create n a is the key named n whose contents is determined by parsing the command-line argument a.
The type for configure-time and run-time values. Values are either pure or obtained by composing other values. Values might have data dependencies, which form an (implicit) directed and acyclic graph that need to be evaluated.
val pure : 'a -> 'a valuepure x is a value without any dependency.
f $ v is is the value resulting from the application of f'value to v's value. $ is the usual app operator for applicative functor.
val default : 'a value -> 'adefault v returns the default value for v.
The type for abstract keys.
val name : t -> stringname t is the string given as t's name when t was created.
val pp : t Fmt.tpp fmt k prints the name of k.
module Set : sig ... endSet implements sets over t elements.
val pp_deps : 'a value Fmt.tpp_deps fmt v prints the name of the dependencies of v.
type context := Context.tThe type for values holding parsing context.
context ks is a Cmdliner term that evaluates into a parsing context for command-line arguments.
mem c v is true iff all the dependencies of v have been evaluated.
eval c v evaluates v in c's context, using default values if necessary.
get c k is k's value in c's context. If k is not present in c, it is k's default value.
find c k is k's value in c's context or None if k is not present in c.