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.
Library namesThe type for library names looked up in OCAMLPATH
. For legacy reasons this may also correspond to an ocamlfind
package name.
v s
is a library for n
. Raises Invalid_argument
if s
is not a valid library name.
first n
is n
's first name, that is the rightmost one.
last n
is n
's last name, that is the leftmost one.
undot ~rep n
is n
with .
replaced by rep
.
val to_archive_name : t -> string
to_archive_name n
is undot ~rep:'_' n
.
val of_string : string -> (t , string) Stdlib .result
of_string s
is a library name from n
.
val to_string : t -> string
to_string n
is n
as a string.
val equal : t -> t -> bool
equal n0 n1
is true
iff n0
and n1
are the same library name.
val compare : t -> t -> int
compare n0 n1
is a total order on library names compatible with equal
.
pp
formats a library name.
module Set : Stdlib .Set.S with type elt = t
module Map : Stdlib .Map.S with type key = t