Lars Hansen wrote:
>> -----Original Message-----
>> From: Waldemar Horwat [mailto:[EMAIL PROTECTED]
>> Sent: 28. april 2008 18:39
>> To: Lars Hansen
>> Cc: es4-discuss
>> Subject: Re: ES4 note: Reserved namespaces
>>
>> I agree with everything except:
>>
>> * reserved namespaces may not be aliased (ie they are illegal
>> on the right hand side of "=" in "namespace ns1 = ns2")
>>
>> If we want to make reserved namespaces into keywords,
>
> We do not...
>
>> that
>> might be ok. However, at the current time they're not
>> keywords, and one could write:
>>
>> const foo = intrinsic;
>
> But "foo" can't be used as a namespace qualifier in any
> context, so that's OK.
>
>> and:
>>
>> namespace instrinsic = my_namespace;
>
> That one either shadows an existing namespace or causes an
> ambiguity, so I don't think that's a problem either.
>
>> Being able to write those but not:
>>
>> namespace foo = intrinsic;
>>
>> is just splitting hairs without achieving anything important.
>
> I disagree. The rules guarantee that it is possible for the
> implementation to determine statically whether a particular
> fixture definition introduces a binding in one of the reserved
> namespaces. (That actually depends on namespace annotations
> always being statically resolvable. Some of the details
> of how that's handled are still open but that's the goal.)
That's missing the point. As far as I've seen in this discussion so far,
prohibiting
namespace foo = intrinsic;
does not achieve anything important and it does introduce a weird asymmetry
(and yet another strange rule for programmers to memorize) into the language.
It does *not* achieve the guarantee that it's statically possible to determine
whether a particular fixture definition introduces a binding in one of the
reserved namespaces. That guarantee is satisfied by resolving namespaces at
compile time, with or without this prohibition.
Waldemar
_______________________________________________
Es4-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es4-discuss