Module naming and declarations

David Herman dherman at
Thu Apr 25 16:20:56 PDT 2013

On Apr 25, 2013, at 4:08 PM, Claus Reinke <claus.reinke at> wrote:

> You argue for a two-level system of non-lexical names to support
> configuration - okay. But why does that imply you have to drop
> the lexical naming altogether, instead of using a three-level system
> (from external to internal to lexical names)?

You don't, it's an orthogonal concern. Note that Sam was *not* arguing against the existence of lexical modules.

But it's not nearly as important as the rest of the core system -- as Sam describes, coordination and separate development are the most important piece that the module system needs to address. We dropped lexical modules mostly in the interest of working out the core and eliminating parts that weren't necessary for ES6. Kevin's been urging us to reconsider dropping them, and I'm open to that in principle. In practice, however, we have to ship ES6.

But let's keep the question of having lexical *private* modules separate from this thread, which is about Andreas's suggestion to have lexical modules be the central way to define *public* modules.

> Also, in a two-level system of external and lexical names, could one
> not model the coordination level by a registry/configuration module?

No, it would be too hard to get this expressive enough to satisfy the web platform's polyfilling needs.


More information about the es-discuss mailing list