static dynamic binding call chain and stack frame scope Scope is a program region of maximal size in which no bindings change Referencing environment is a set of active bindings at any given point in a program’s execution. lexical scope In nested subroutines, bindings of names to objects are resolved by closest nested scope rule type type equivalence type compatibility type inference static / dynamic typing c = static type python = dynamic type type equivalence structural equi name equi type conversion