Variable references and import precedence

Given a variable reference, there is a need to identify the relevant
variable-binding element. I think it's pretty obvious what the spec intends
here, but I don't think the rules are explicitly spelled out.

- it doesn't explicitly say that when a local variable shadows a global
variable with the same name, the local variable will be the one that is used
- it doesn't explicitly say that where there are several global variables
with different import precedence, the one with highest precedence is chosen.

Unless I've missed something, of course.

Just really intended as a note for the next edition.

Incidentally, I think the way in which each top-level element is treated
differently as regards import precedence is very confusing to users. There
seems little logic as to the cases where duplication is an error that must
be reported, the cases where it is an error that the implementor is allowed
to recover from (every such choice given to the implementor creates a
portability problem for users), and the cases where it is not an error at
all. A useful feature in version 2 would be to put the decision between
strict and lenient error handling in the hands of the user rather than the
implementor.

Mike Kay

Received on Friday, 10 December 1999 05:10:53 UTC