Smylers -- I think the claim in E7 is stronger, that not only does the string match the identifier pattern, but that it is a 'valid' (known, declared) identifier. Else, what would be the point of saying both:
* "contains a valid identifier", and * "check the validity before the program starts" But, since E7 doesn't come right out and say it, I'm asking for clarification. Still could be that you are right and there is nothing to see here, though... Regards, -- Gregor On Sat, 2004-02-28 at 07:46, Smylers wrote: > Gregor N. Purdy writes: > > > "...we're guaranteed that the key of the resulting pair is a string, > > that the string [...] contains a valid identifier, and that the > > compiler can check the validity before the program starts." > > > > We aren't told what validity checking the compiler is doing. I figure > > its looking for some in-scope declaration of that identifier, but what > > would such a declaration look like? > > I take "valid identifier" to mean something which is syntactically valid > as an identifier, rather than something that is in the finite set of > identifiers which C<form> actually uses. > > Using the C<< => >> it's possible to construct pairs in which the key is > not a valid identifier: > > 'Hello there' => 'contains a space', > '2b' => 'starts with a digit', > '%^&@";' => 'only punctuation characters', > > None of those keys could result from using the C<:> option constructor. > > Smylers -- Gregor Purdy [EMAIL PROTECTED] Focus Research, Inc. http://www.focusresearch.com/