> For the complete documentation index, see [llms.txt](https://todepond.gitbook.io/spacetode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://todepond.gitbook.io/spacetode/scoping.md).

# Scoping

Symbols that you declare are block-scoped. They only exist inside the block that they are declared in.\
This code causes an `Unidentified Symbol` error because the `E` symbol doesn't exist in the scope of the diagram:

```
element Sand {
    {
        symbol E Empty
    }
    
    @ => E
    E    @
}
```

It can be useful to scope different parts of your code so that you can keep track of what different symbols mean:

```
element Sand {
    {
        symbol W Water
        @ => W
        W    @
    }
    {
        symbol W Wind
        W@_ => ._@
    }
}
```
