summary
block structure
- a variable can be defined at top level
- or within a procedure defined at top level
- or within a procedure defined within a procedure defined at top level …
- ie, scopes are nested
-
rationale
- defining a variable “consumes” a name
- want to consume as few names as possible
- so localize helper procedures
- make scope as small as possible