On Thursday, 24 January 2013 at 06:34:58 UTC, Andrei Alexandrescu wrote:
On 1/24/13 1:18 AM, monarch_dodra wrote:
On Wednesday, 23 January 2013 at 23:39:50 UTC, Andrei Alexandrescu wrote:

We need a good DIP on this. UFCS has destroyed all arguments in favor of requiring parens. There is no question we must do this. Anyone
inclined toward writing a detailed DIP?

Andrei

What about optional parens on non-UFCS calls, is there a case for this?
Honest question.

Let them be.

I'm inclined to writing a DIP.

That would be great!


Andrei

We actually have one, which I think I agree with:
http://wiki.dlang.org/DIP21

The gist of the DIP is that something marked with @property is always and immediately expanded into a call.

This fits into my proposal of:
1) properties never have parens (they are added by the compiler)
2) You can't take the address of a property function: "&foo" would become "&foo()", so you'd always get the address of the return value.

- make parens optional for everything else.
- allow the "foo = 5" rewrite into "foo(5)" only for properties.
-- Note that if foo is a non-property that returns by ref, then "foo = 5" remains legal
-- However, "writeln = 5" would be illegal.

I think properties is a really cool & powerful concept. It got conflated into "optional parens". This doesn't mean we should just "take it out back"...

Reply via email to