package odoc
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=f574dbd28cd0fc3a2b95525c4bb95ddf6d1f6408bb4fe12157fa537884f987fd
sha512=1c545c281a7022a167f028fff8cec6fb3f2f82da0881431be74e7a4281c5353ed83bfbdb4d9d9e08af6755dbe3505c052c5e5b58cdeb08c57aed5e89c0f15e91
doc/odoc.model/Odoc_model/Names/index.html
Module Odoc_model.Names
Typed names for paths, identifiers, references and fragments.
This module contains a module per type of named object in our internal representation of the langage, each containing an opaque type t
. This allows us to ensure that, for example, we never mistake a module name for a module type name.
module type Name = sig ... end
Name 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.
module type SimpleName = sig ... end
Some named objects can't have internal names, so they have this simpler module.
module ModuleName : Name
module ParameterName : Name
module ModuleTypeName : Name
module ConstructorName : SimpleName
module FieldName : SimpleName
module ExtensionName : SimpleName
module ExceptionName : SimpleName
module ClassTypeName : Name
module MethodName : SimpleName
module InstanceVariableName : SimpleName
module LabelName : SimpleName
module PageName : SimpleName