Rick Waldron (2013-07-12T13:45:56.000Z)
forbes at lindesay.co.uk (2013-07-12T13:55:11.049Z)
> ```js > foo {one:1,two:2 }; > ``` > > Semi-formally that syntax looks like: > > ```js > function-call: > <name-token> '(' <parameter-list> ')' // existing form > <name-token> <object-literal> // proposal > ``` Given: ```js function foo(){ return 1; } ``` This is a valid function call: ```js foo () // 1; ``` But this is valid, too (though, not a function call): ```js foo <-- identifier {} <-- empty block // function foo() { return 1; } ``` Also, I could be wrong, but wouldn't there need to be a way to disambiguate UnaryExpression? ```js typeof foo { one: 1, two: 2 } ``` Maybe this is not an issue, or easily dealt with? > We can add even more generic form of function call: > ```js > foo 1,2,"three"; > ``` The equivalent to: ```js foo(1, 2, bar("a", "b")) ``` is... ```js foo 1, 2, bar "a", "b" ``` ? CoffeeScript has this problem, too.