From: Kevin Smith [[email protected]]

> What you propose, with "logical names", is a global namespace of short 
> human-readable names with *no* conflict resolution authority.  How do you see 
> that working?  From a namespace perspective, how is that any different than 
> hanging identifiers off of the global object, as we do today?  I'm not 
> understanding how this strategy will facilitate namespace coordination.  I 
> can only see it leading to namespace confusion.

Indeed, I must second this question. (This causes me some cognitive dissonance, 
since from a Node.js/AMD perspective that I work in daily, string IDs seem 
great, so I'm not sure what I'm arguing for ^_^.)

The way I think of this is that it's conflating packages and modules. In 
current practice, packages have names that are registered in a global registry, 
and they are represented in the module system by a "main module" for that 
package. The wiring that allows `"${packageName}"` to resolve to the URL for 
the main module of `packageName` is part of the loader; in Node.js for example 
it does directory climbing through `node_modules` and inspects `package.json`s 
for their `"main"` values.

In this way, modules do not have any globally-known names at all; their names 
are derived entirely from URLs (in the form of relative file paths).

I made this point in [a recent presentation on client-side 
packages](http://www.slideshare.net/domenicdenicola/client-side-packages), 
slides 6 and 7.

Curious if others agree with this or if I'm totally off base as to how this 
fits into the discussion...
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to