It is called a name change, it is necessary due to overloads and patterns, etc. (i.e., a simple name of symbols and numbers is not enough to uniquely identify a piece of code, embed spaces or <> or :: in names are usually not legal, and copying additional information in a non-condensed, readable form will be useless), and therefore it depends from types, arity, etc.
The exact layout may vary, but usually each compiler is self-consistent for a relatively long time (sometimes even several compilers can rely on one method).
delnan
source share