Previous: Forms of definitions, Up: Definitions

#### 3.3.2 Forms of references

References to defined names are enclosed in bracketing delimiters. The delimiter characters imply the type of the associated value as shown in the table below. A type error is raised if the type of a reference does not match the type of the defined value. The intent of this mechanism is, again, to make `sketch` input files more readable.

Type | Reference
--- | ---
scalar | id
point | `(`id`)`
vector | `[`id`]`
transform | `[[`id`]]`
drawable | `{`id`}`
options | `[`id`]` or `[`id1`,...,`idN`]`
tag | `<`id`>`

Note that square brackets [ ] are used both for vector and for options references. Details of `sketch` syntax make it impossible for these two reference types to be confused. The special multiple reference `[`id1`,`id2`,...,`idN`]` acts as if the respective lists of options were concatenated.