Names.Name
SourceName is the signature for names that could possibly be internal. Internal names occur when we generate items that don't have a path that will be exposed in the generated HTML, for example, when we are doing generalised opens. The compiler makes sure these new types are removed from the signature, so they should never be externally visible, and an attempt to turn an internal name into a string will result in an exception being thrown.
Note that it is tricky currently to remove references to internal names, and hence the 'safe' to_string
will not currently raise an exception. When the model is updated to handle this the exception will be reinstated.
val to_string : t -> string
val to_string_unsafe : t -> string
to_string_unsafe
will allow even internal names to be turned into strings. Use with caution.
val make_std : string -> t
val internal_of_string : string -> t
val is_internal : t -> bool
val fmt : Format.formatter -> t -> unit
Hidden names are those that contain a double underscore, e.g. Hidden__module