Jussi Kalliokoski <mailto:[email protected]>
September 1, 2013 5:38 AM
Sorry if this has been brought up before,

It has, even in this thread.

but why `function *` (which looks like a pointer to a function more than a generator

This is JS, please take off your C/C++ hat :-P.

) instead of something clearer, e.g. `generator myGenerator () {}`? I see the obvious ASI hazard, but this can be mitigated by not allowing unnamed generators, e.g. `{ myGenerator: generator _ () {} } `,

This doesn't work in general, it is backward-incompatible. If someone bound or assigned to generator in-scope, your proposed change could break compatibility -- or else require parsing to depend on name binding.

foo = generator
bar()
{}

Remember, if there wasn't an error, ASI doesn't apply. Trying to "patch" this bad theory with a [no LineTerminator here] restriction to the right of 'generator' does not work in the grammar without reserving 'generator' -- we can't put that restriction to the right of every Identifier on the right of every expression production.

Please stamp this on all inner eyelids so I don't have to repeat it ad nauseum. Thanks!

/be

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to