# The Dictionary

Cagire includes a built-in dictionary of all the internal Forth words. Press `Ctrl+Up` to reach the **Dict** view.

## Using the Dictionary

The dictionary shows every available word organized by category:

- **Stack**: Manipulation words like `dup`, `swap`, `drop`.
- **Arithmetic**: Math operations.
- **Sound**: Sound sources and emission.
- **Filter**, **Envelope**, **Effects**: Sound shaping.
- **MIDI**: External MIDI control (`chan`, `cc`, `emit`, `clock`, etc.).
- **Context**: Sequencer state like `step`, `beat`, `tempo`.
- And many more...

This documentation will not teach you how to use all words. It would be counterproductive to do so and it would defeat the purpose of having a dictionary. The syntax is very uniform and you can quickly learn a new word when necessary. We encourage you to explore as you play, this is the best way to learn. The tutorial will remain focused on various topics that require you to apply knowledge to a given task or specific context.

## Navigation

| Key | Action |
|-----|--------|
| `Tab` | Switch between categories and words |
| `↑/↓` or `j/k` | Navigate items |
| `PgUp/PgDn` | Page through lists |
| `/` or `Ctrl+F` | Search |
| `Esc` | Clear search |

Each word entry shows:

- **Name** and aliases
- **Stack effect**: `( before -- after )`
- **Description**: What the word does
- **Example**: How to use it

Press `/` to search across all words. The search matches word names, aliases, and descriptions. Press `Esc` to clear and return to browsing. Use the dictionary while writing scripts to check stack effects and study their behavior. Some words also come with shorter aliases (e.g., `sound` → `s`). You will learn aliases quite naturally, because aliases are usually reserved for very common words.
