### 2.1 Identifiers

Most identifiers allowed by other programming languages are also acceptable to Scheme. The precise rules for forming identifiers vary among implementations of Scheme, but in all implementations a sequence of letters, digits, and “extended alphabetic characters” that begins with a character that cannot begin a number is an identifier. In addition, `+`, `-`, and `...` are identifiers. Here are some examples of identifiers:

         lambda                   q
         list->vector             soup
         +                        V17a
         <=?                      a34kTMNs
         the-word-recursion-has-many-meanings

Extended alphabetic characters may be used within identifiers as if they were letters. The following are extended alphabetic characters:

         ! $ % & * + - . / : < = > ? @ ^ _ ~

See section Lexical structure for a formal syntax of identifiers.

Identifiers have two uses within Scheme programs:

- Any identifier may be used as a variable or as a syntactic keyword (see sections see Variables; syntactic keywords; and regions and see Macros).
- When an identifier appears as a literal or within a literal (see section see Literal expressions), it is being used to denote a symbol (see section see Symbols).