Module naming and declarations

Andreas Rossberg rossberg at google.com
Tue May 7 15:04:15 PDT 2013


On 7 May 2013 23:50, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> On Tue, May 7, 2013 at 5:45 PM, Andreas Rossberg <rossberg at google.com> wrote:
>> On 7 May 2013 21:17, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
>>> On Thu, May 2, 2013 at 10:47 AM, Andreas Rossberg <rossberg at google.com> wrote:
>>>> In particular, as I mentioned before, you _cannot_ make "a" mean
>>>> something different than "./a" without violating URLs [1,2]. Yet that
>>>> is not only what you envision, it is what you de facto _prescribe_
>>>> with your proposal. I think that's simply a total no-go.
>>>>
>>>> [1] http://tools.ietf.org/html/rfc3986#section-4.2
>>>> [2] http://tools.ietf.org/html/rfc3986#section-5.2.2
>>>
>>> No, this is not correct.  Neither "a" not "./a" are URLs, and thus
>>> treating them differently does not violate the semantics of URLs.
>>
>> [Quick reply only, will address the rest of your mail tomorrow.]
>>
>> Come on Sam, now you're really splitting hairs. Fine, technically it's
>> called a "URI reference" [3] -- and in practically all places on the
>> web where you reference a URL you are doing so using such a beast. You
>> seriously want to divorce yourself from the rest of the web? (Except,
>> of course, that you still want to allow those URI references as URI
>> references that e.g. start with a "." -- really, this whole idea is
>> highly schizophrenic.)
>
> Sorry if I was unclear, I didn't mean to be making the hair-splitting
> point you're responding to.
>
> The point I'm making is that logical names aren't URLs, they aren't
> specified to be URLs, and thus treating them differently isn't a
> violation of the meaning of URLs.

It is, if logical names (1) syntactically overlap with URI references,
(2) are used in places where you also allow URI references, and (3)
have a meaning different from (and incompatible with) the respective
sublanguage of URI references. Unfortunately, your design is doing
exactly that.

That's why I have been saying all along that you need to use a proper
syntactic embedding. Or a disjoint syntax. I really see no way around
it.

> Is your contention that AMD and Node are also violating the semantics of URLs?

No, because AFAIK, they don't overload path syntax with URL syntax in
the same way.

/Andreas


More information about the es-discuss mailing list