# What about names?

What kind of names exist?

constant declarations function definitions applications

To manage these, we need to capture **state**.

We can do these via environments, which are functions from domain of names to domain of values.

Thus an environment e, in which x refers to the number 1, can be accessed by applying e to x, e(x) = 1.

Names in SourceD are then translated to instructions LDS x (LoaD Symbolic).

x -> LDS x

Whenever we encounter a name, we then push it onto the stack.