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:
-
names for values and primitives (syntactic class name ),
- type constructors (typeconstr-name ),
- module names (module-name ),
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