Commands start with a symbol reference, which is a command character followed by a symbol name.
A symbol reference can stand alone, which makes it a value retrieval. This can be the value of a variable, but also a defined type or function.
You can access fields or other nested entities via “
::”, followed by an identifier.
Besides fields, this also gives you access to functions defined on a type.
:,” if you need to end an identifier but alphanumeric content follows.
This concludes the simple command structures. Next, we will look at command structures that have nested levels.
A command consists of one or more command structures, the first one always being a symbol reference. Each subsequent structure after the first one has the previous structure as subject.
Identifiers consist of alphanumeric characters. The first non-alphanumeric character ends the identifier.
The identifier of a symbol reference resolves in the namespace of the used command character. You can have multiple command characters to avoid name clashes when importing symbols.
The backslash “
\” contains all symbols predefined by Nyarna.
There is a small subset of symbols defined in every character namespace, which will be discussed later on.