•
Every expression evaluated in the context
of an
environment
•
An environment consists of
bindings
–
mapping identifiers to
meanings
•
In typical PLs
–
a declaration adds a binding to the environment
–
exiting a scope removes bindings