Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

32 lines
1.2 KiB
ReStructuredText

.. _ids:
===========
Identifiers
===========
Spicy distinguishes between different kinds of identifiers:
Declarations
Identifiers used in declarations of variables, types, functions,
etc., must start with a letter or underscore, and otherwise
contain only alphanumerical characters and underscores. They must
not start with two underscores, and cannot match any of
:ref:`Spicy's built-in keywords <reserved_keywords>`.
Attributes
Identifiers augmenting other language elements with additional
*attributes* always begin with `&`. They otherwise follow the same
rules as identifiers for declarations, except that they also
permit dashes. Note that you cannot define your own attributes;
usage is limited to a set of predefined options.
Properties
Identifiers defining *properties* of modules and types (as in,
e.g., :ref:`unit_meta_data`) always begin with `%`. They otherwise
follow the same rules as identifiers for declarations, except that
they also permit dashes. Note that you cannot define your own
properties; usage is limited to a set of predefined options.
Identifiers are always case-sensitive in Spicy.