The Namespace Problem
Summary
The Namespace Problem analyzes how a language designer evolved Pie from dynamic to static scoping by introducing static analysis for variable IDs and redesigning namespaces as a distinct language construct. It contrasts dynamic scoping with static scoping, shows how static analysis prevents cross-scope leakage, and uses multiple language examples (Pie, Python, C++) to illustrate the idea.