Previous Contents Next

3.4   Names

Identifiers are used to give names to several classes of language objects and refer to these objects by name later: These three name spaces are distinguished by the context.

Naming objects

name ::= ident
  | infix-symbol
typeconstr-name ::= ident
module-name ::= ident
As shown above, infix symbols can be used as names.

Referring to named objects

full-name ::= name
  | module-name .   name
full-infix-name ::= infix-symbol
  | module-name .   infix-symbol
full-typeconstr-name ::= typeconstr-name
  | module-name .   typeconstr-name

A named object can be referred to either by its name (following the usual static scoping rules for names) or by an access path module .   name , where module designates a module and name is the name of an object defined in that module.


Previous Contents Next