Direct proxies update

David Herman dherman at mozilla.com
Thu Nov 24 09:09:17 PST 2011


On Nov 24, 2011, at 7:37 AM, David Bruant wrote:

> Le 24/11/2011 16:04, Sam Tobin-Hochstadt a écrit :
>> You can't do the following:
>> 
>> import {new, delete} from "@reflect";
>> 
>> because you can't bind `new' and `delete'.  Even if this were allowed,
>> then `new(...)' would still be a syntax error.
> Oh ok... It actually is more an issue of destructuring than modules
> themselves.

Sort of. It's not even really technically a problem with destructuring; we could allow that, but it would be useless, because you'd never be able to refer to them.

> Interestingly, it means that as soon as we have the module syntax out
> there, there will be pretty much no way to add a new reserved keyword
> (ever?), because someone may be using the identifier and adding the
> reserved keyword would break the module import.

This has nothing to do with modules. Adding a reserved word is *always* backwards-incompatible because someone could already be using it as a variable. Modules don't change this situation at all.

> "import Reflect from "@reflect""

Almost.

    module Reflect from "@reflect";

You only use "import" to pull out exports from inside a module. (We've been experimenting with alternative syntaxes, btw. I'll report back on that soon.)

Dave



More information about the es-discuss mailing list