Symbols
Generated Markdown for references/concept_symbols.md.
Open book page Back to the skill graph
# Symbols
_Identifier-like :name values for tags and enum-like choices, plus symbol_set vocabularies._
A **symbol** is an identifier-like value written `:name` — no space between the
colon and the name. Symbols are used for tags, enum-like choices, and any time you
want a typed name rather than a string.
```wcl
shade = :amber
accent = :cyan
edge = :uses
```
## The symbol type
A free-form field accepting any symbol has type `symbol`. There is no validation on which symbols may appear — anything that lexes as `:name` is valid.
```wcl
type Tag {
name: utf8
kind: symbol
}
t = Tag { name: "release", kind: :stable }
```
## Related
- [Unions](../references/concept_unions.md)
- [Identifiers](../references/concept_identifiers.md)
- [Symbol Sets](../references/concept_symbol_set.md)
[← Back to SKILL.md](../SKILL.md)