Modules: Curly Free

David Herman dherman at
Tue Apr 16 11:36:12 PDT 2013

On Apr 16, 2013, at 10:20 AM, Andreas Rossberg <rossberg at> wrote:

> On 16 April 2013 18:55, David Herman <dherman at> wrote:
>> I'm gonna bite the bullet here and tempt the bikeshedding demons by making an incremental suggestion for a syntax for anonymous import/export that adds to your syntax.
>>    export default f(1, 2, 3);        // creates anonymous export by evaluating RHS expression
>>    import default as foo from "foo"; // binds the anonymous export from module "foo" to variable foo
> OK, you asked for it.

Indeed... :-}

> How exactly is that superior to
>  export let it = f(1, 2, 3)
>  import it as foo from "foo"
> which is both shorter and does not need any extension to the syntax at all?

Because character count is not the only measure of clarity. And requiring a naming convention imposes standardization costs. We're the standards body! Not only that, but there's also the problem of interoperability with existing code (AMD, NPM, etc) that uses the "single dynamic export" idiom.


More information about the es-discuss mailing list