Advanced topics
Attributes
Attributes are given to module-level declarations to control how they are treated by the compiler.
Attributes are prefixed by @ and appear before module-level declarations
(i.e., imports, types, traits, functions, constants, and instances).
public attribute
The public attribute makes a declaration available outside of the module.
Refer to visibility.
transparent attribute
The transparent attribute marks a type as transparent.
Refer to visibility.
Whitespace
The grammar is designed so that whitespace, newlines, and indentation around tokens does not matter.
Grammar
TODO
Write this.