Paren-free heads strawman

kdex kdex at kdex.de
Mon Feb 1 11:15:40 UTC 2016


I've noticed that there's a strawman that has been left untouched for quite a while, namely [strawman:paren_free](http://wiki.ecmascript.org/doku.php?id=strawman:paren_free).

It intends to make parentheses in heads optional, making, for instance:
```js
if x > 3 {
    /* … */
}
```
equivalent to:
```js
if (x > 3) {
    /* … */
}
```
Does anyone know if there are still any efforts to bring this into a future version of EcmaScript?

The strawman hasn't been updated for five years, and I have the feeling that this addition was forgotten about.
The last time I've heard anyone from TC39 talk about paren-free heads was at [GOTO Aarhus 2013](https://www.youtube.com/watch?v=Nlqv6NtBXcA).

Note that the strawman also talks about backward compatibility:
> For backward compatibility, we support parenthesized heads with any sub-statement. To preserve the LR(1) grammar this requires factoring out OtherStatement.
>
> Thus, this proposal is intended to make no backward-incompatible syntactic or semantic changes to ES5. “Paren-free” is now > purely a relaxation of syntax rules.

If anyone seeks to try this out, Mozilla's [Narcissus](https://github.com/mozilla/narcissus/) has been supporting it for years now. You can enable it via `--paren-free`.


More information about the es-discuss mailing list