Packs
v n us is a build pack named n made of build units us and described by doc. locked defaults to false, see locked for the semantics.
include B0_def.S with type t := t
val define : ?doc:string -> ?meta:B0_meta.t -> string -> B0_def.defdefine ~doc ~meta n defines name n in the current scope with documentation string doc (defaults to "undocumented")e and metadata meta (defaults to B0_meta.empty). Defining a duplicate value in a scope raises Duplicate.
val def : t -> B0_def.defdef v is the definition of value v.
val name : t -> stringname v is v's name.
val doc : t -> stringdoc v is v's documentation string.
Add & Lookup
val add : t -> unitadd v adds the value v to the list of defined values.
val list : unit -> t listlist () is the list of units. FIXME scope that.
val find : string -> t optionfind n is the value named n (if any).
val get : string -> tget n looks up the value named n and errors the B0 file if there no such n.
val get_or_suggest : string -> (t, t list) Stdlib.resultget_or_suggest n is the value named n or a (possibly empty) list of suggested values whose name could match n.
val get_all : string list -> (t list, string) Stdlib.resultget_all ns are the value named ns or an error that indicates the names that could not be found with suggested names. If ns is empty then list is returned.
Formatters
val pp_name_str : string B00_std.Fmt.tpp_name_str v pretty prints value names.
val pp_name : t B00_std.Fmt.tpp_name v formats v's name.
val pp_doc : t B00_std.Fmt.tpp_doc formats v's doc string.
val pp_synopsis : t B00_std.Fmt.tpp_synopsis formats v's name and its doc string.
val pp : t B00_std.Fmt.tpp formats v 's name, its doc string and its metadata dictionary.
Value set and maps
module Set : Stdlib.Set.S with type elt = tValue sets.
module Map : Stdlib.Map.S with type key = tValue maps.
val locked : t -> boollocked is true if the pack when used in a build mandates a locked build.