Build procedures
The type for builds, see B0_build
.
type proc = build -> unit B00.Memo.fiber
The type for unit build procedures.
val nop : proc
nop
does nothing.
Units
v n ~doc ~meta
is a build unit named n
with build operations run
and described by doc
.
include B0_def.S with type t := t
val define : ?doc:string -> ?meta:B0_meta.t -> string -> B0_def.def
define ~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.def
def v
is the definition of value v
.
val name : t -> string
name v
is v
's name.
val doc : t -> string
doc v
is v
's documentation string.
Add & Lookup
val add : t -> unit
add v
adds the value v
to the list of defined values.
val list : unit -> t list
list ()
is the list of units. FIXME scope that.
val find : string -> t option
find n
is the value named n
(if any).
val get : string -> t
get 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.result
get_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.result
get_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.t
pp_name_str v
pretty prints value names.
val pp_name : t B00_std.Fmt.t
pp_name v
formats v
's name.
val pp_doc : t B00_std.Fmt.t
pp_doc
formats v
's doc string.
val pp_synopsis : t B00_std.Fmt.t
pp_synopsis
formats v
's name and its doc string.
val pp : t B00_std.Fmt.t
pp
formats v
's name, its doc string and its metadata dictionary.
Value set and maps
module Set : Stdlib.Set.S with type elt = t
Value sets.
module Map : Stdlib.Map.S with type key = t
Value maps.