Skip to main content

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.