Lib.Name
Library names.
Library names are dot separated segments of uncapitalized OCaml compilation unit names. Replacing the dots by the platform directory separator yields the directory of the library relative to the OCAMLPATH
. Here are examples of library names and corresponding library directories for the following OCAMLPATH
:
OCAMLPATH=/home/bactrian/opam/lib:/usr/lib/ocaml Library name Library directory ---------------------------------------------------------------- ptime.clock.jsoo /home/bactrian/opam/lib/ptime/clock/jsoo re.emacs /home/bactrian/opam/lib/re/emacs ocamlgraph /usr/lib/ocaml/ocamlgraph ocaml.unix /usr/lib/ocaml/ocaml/unix N/A (shadowed) /usr/lib/ocaml/re/emacs
For legacy reasons library names also correspond to ocamlfind
package names.
The type for library names looked up in OCAMLPATH
. For legacy reasons this may also correspond to an ocamlfind
package name.
val v : string -> t
v s
is a library for n
. Raises Invalid_argument
if s
is not a valid library name.
val first : t -> string
first n
is n
's first name, that is the rightmost one.
val last : t -> string
last n
is n
's last name, that is the leftmost one.
val undot : rep:B00_std.Char.t -> t -> string
undot ~rep n
is n
with .
replaced by rep
.
val to_archive_name : t -> string
to_archive_name n
is undot ~rep:'_' n
.
val to_string : t -> string
to_string n
is n
as a string.
val to_fpath : t -> B00_std.Fpath.t
to_fpath n
is n
with dots replaced by B00_std.Fpath.dir_sep_char
.
val pp : t B00_std.Fmt.t
pp
formats a library name.