Rationalizing ASI (was: simple shorter function syntax)

Brendan Eich brendan at mozilla.com
Sun Jul 25 17:06:18 PDT 2010

On Jul 25, 2010, at 4:59 PM, Maciej Stachowiak wrote:

> On Jul 25, 2010, at 11:36 AM, Brendan Eich wrote:
>> Let's not go in circles. I claim:
>> * The horses are long gone from the barn.
>> * The mistake is easy to overlook even for JS coders who do use semicolons.
>> * The trade-off of banning ASI rule 1 first bullet to reduce desensitization and eventually reduce the incidence of this kind of bug is not a clear win, vs. migration tax into Harmony and usability problems even writing fresh code.
>> In order to reliably remove this hazard, we would need to ban statements from starting with '('. Perhaps we should consider doing so.
> Banning statements from starting with '(' would remove one of the easiest workarounds for the rules against statements starting with 'function' or statements starting with '{'.

Yeah, that's too harsh -- you'd have to use an operator or assign to a dummy variable or declare an initialized binding.

Mark's restricted production idea is on target, if we think it's worth doing.


More information about the es-discuss mailing list