[PRL] disallowing shadowing
Felix S Klock II
pnkfelix at ccs.neu.edu
Sun May 29 17:02:20 EDT 2005
On May 29, 2005, at 4:05 PM, Dave Herman wrote:
> Other than being an annoyance when you want to reuse a name for
> some other purpose (which is arguably bad style anyway), what
> problems would disallowing local rebinding cause?
Every fragment of my program is going to affect what changes I can
make to its outer context. This means that every time I want to
introduce a new global name, rather than merely inspecting the
current list of global names, I'll have to inspect the entire program
text to ensure that there are no collisions.
I don't know what you're classifying as an annoyance. If you never
make changes to your context, and instead are always working from the
outside-in (perhaps better known as top-down programming?), then
maybe you won't care about this.
Look, how about this way of looking at things: you know that systems
programming language, what's it called . . . C? It has a pretty
restrictive set of rules for what you name procedures. You should
try programming in that for a while and let us know how it turns out.
More information about the PRL