Vitaly pointed out a place where the wording is not clear and seems contradictory. He suggested alternate language. While I agree that the current language seems contradictory, I don't think his wording is good enough. I'd like help from other WG1 members, et al. improving this language.
Here is the latest message in the conversion:
from Vitaly Magerya on Thu, Feb 23, 2012 at 4:41 AM:
Arthur A. Gleckler wrote:
| Page 24, section 5.2.1: "implementations are permitted to provide | an initial environment in which all possible variables are bound | to locations, most of which contain unspecified values" -- this | seems to contradict section 5.1, page 23, where it says "the initial | (or 'top level') environment is empty except for import". The former statement is included because some implementations forbid assignment to any top-level variable using set!' until define' has been used on that variable, while other implementations allow `set!' without a preceding `define'. The latter statement means that the only variable bound to a specific value in the initial environment is `import'. However, it doesn't preclude all other possible variables being bound to locations whose values haven't yet been specified. | This also does not play along with environment specifiers to eval | and load: for example section 6.2, page 51 says "[null-environment] | contains only the bindings [...]" -- in effect, an implementation | that uses the initial environment where everything is bound must | nonetheless support environments where not everything is bound. Based on my description above, can you suggest better wording?
Instead of "[...] contains only the bindings [...]" in null-environment and scheme-report-environment descriptions (page 51, section 6.1) I propose "contains bindings", without "only". In the description of environment I propose using "implementation-specific (possibly empty)" instead of "empty".