Mod.Name
Module names.
val v : string -> t
v n
is a module name for n
, the result is capitalized.
val of_filename : B00_std.Fpath.t -> t
of_filename f
is the basename of f
, without extension, capitalized. This assumes the basename of f
follows the OCaml file naming convention mandated by the toolchain. If you know that may not be the case use of_mangled_filename
.
val pp : t B00_std.Fmt.t
pp
formats a module name.
module Set = B00_std.String.Set
Module name sets.
module Map = B00_std.String.Map
Module name maps.
val of_mangled_filename : string -> t
of_mangled_filename s
is module name obtained by mangling the filename of s
as follows:
.ml
or .mli
.-
(0x2D) or dot .
(0x2E) to an underscore _
(0x5F).'M'
.The transformation is consistent with of_filename
on files that follows the OCaml toolchain convention. However the transformation is not injective. Here are a few examples:
filename Module name ---------------------------------------- publish-website Publish_website publish_website Publish_website import-data.ml Import_data import-data.xml.ml Import_data_xml import-data.script Import_data_script mix+match Mix2Bmatch _release.ml M_release