package b0
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha512=e9aa779e66c08fc763019f16d4706f465d16c05d6400b58fbd0313317ef33ddea51952e2b058db28e65f7ddb7012f328c8bf02d8f1da17bb543348541a2587f0
doc/b0.file/B0_def/module-type-S/index.html
Module type B0_def.SSource
The type of named values.
The module guarantees name unicity and provides indexing and lookup of the named values.
Named values
mangle_basename s is a basename that can be used with define.
The type of defined values.
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 an exception.
def_kind is the kind of defined value.
name v is v's name. Note that this name changes depending on how the definition is scoped.
Metadata
mem_meta k v is B0_meta.mem k (B0_def.meta v).
has_tag k v is B0_meta.has_tag k (B0_def.meta v).
find_meta k v is B0_meta.find k (B0_def.meta v).
find_or_default_meta k u is B0_meta.find_or_default k (B0_unit.meta u).
get_meta m k u is Ok v if find_meta k u is Some v and a final user friendly error message if None.
Add & Lookup
get name looks up the value named name and errors the b0 file if there no such name.
get_or_suggest name is the value named name or a (possibly empty) list of suggested values whose name could match name.
get_or_hint name is the value named name or an error message that indicates that name could not be found with suggested names.
get_list_or_hint ~all_if_empty names are the value named after names or an error that indicates the names that could not be found with suggested names. If all_if_empty is true an empty ns returns list () sorted by name.
Scope
scope_path v are the scopes in which v is defined starting from the root. If v is defined in the root scope this is [], if v is defined in a library scope lib this is [[""]; lib]
scope_dir v is the scope directory in which v is defined.
scope_dir' v is like scope_dir but errors with an end-user message if None.
in_scope_dir v path makes the path path absolute with respect to the scope directory in which v is defined. This is None if v's scope has no directory (e.g. on library scopes).
in_scope_dir' is like in_scope_dir but errors with an end-user message if None.
Formatters
pp_name_str v pretty prints value names.
pp_name v formats v's name.
pp_doc formats v's doc string.
pp_synopsis formats v's name and its doc string.
pp formats v 's name, its doc string and its metadata dictionary.