Allen Wirfs-Brock (2014-01-08T17:04:58.000Z)
On Jan 8, 2014, at 8:32 AM, Mark S. Miller wrote:

> If all we want is sugar for IIFEs, I wouldn't bother. With arrow functions, IIFEs are already a lot shorter. The extra brevity of do expressions is not worth it.
> 
> What would make do expressions worthy of consideration is if they repaired the TCP violations of strict arrow IIFEs, including var, arguments, break, continue, return, and especially yield.

+1

You should be able to put a 'do' in front of any BlockStatement and turn it into an ExpressionStatement.

I don't think we should have a new expression level scoping construct that doesn't have the exact semantics of a Block.

Allen
domenic at domenicdenicola.com (2014-01-14T17:44:46.745Z)
On Jan 8, 2014, at 8:32 AM, Mark S. Miller wrote:

> If all we want is sugar for IIFEs, I wouldn't bother. With arrow functions, IIFEs are already a lot shorter. The extra brevity of `do` expressions is not worth it.
> 
> What would make `do` expressions worthy of consideration is if they repaired the TCP violations of strict arrow IIFEs, including `var`, `arguments`, `break`, `continue`, `return`, and especially `yield`.

+1

You should be able to put a `do` in front of any BlockStatement and turn it into an ExpressionStatement.

I don't think we should have a new expression level scoping construct that doesn't have the exact semantics of a Block.