Programming languages have special statements, called definitions. They change the state of a program by adding an entity that didn't exist, like a new value or function.2 To refer to an entity we defined, we need to associate a name to it. That's called name binding.

