Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Identifiers and Namespaces
module type UntaggedName = sig ... end
An UntaggedName is a module type, used as a basis to create TaggedName. A name is used to store identifiers of various kinds, including a string that is the identifier itself, and a location of its occurence.
module type TaggedName = sig ... end
A TaggedName is a module type to represent names of different kinds. One can use Make ()
to create a new namespace module, so that different namespaces can be properly distinguished at the type level
module Make () : TaggedName
Creates a new namespace module
module ProtocolName : TaggedName
module PayloadTypeName : TaggedName
module LabelName : TaggedName
module RoleName : TaggedName
module VariableName : TaggedName
module TypeVariableName : TaggedName
module LocalProtocolName : TaggedName