I like the idea behind this RFC, maybe the syntax is not my favourite, but it's ok.
If we remove parentheses for this case, why having them for the if statement and so on?
I think it's necessary for the parentheses to be kept because you have to prioritize the object instanciation to use a method it exposes.
It simplifies dedicated logic for setters/getters, without having to mess directly with __get()
and __set()
.
Short doesn't mean one line, sometimes few lines may be needed to express the operation.
Another advantage of closures is the access to the outer scope.
Most important thing is to not abuse of this feature and switch to this syntax instead of the canonical function syntax.