On Thu, 24 Jan 2013 00:34:42 -0800, Walter Bright <[email protected]> wrote:

This has turned into a monster. We've taken 2 or 3 wrong turns somewhere.

Perhaps we should revert to a simple set of rules.

1. Empty parens are optional. If there is an ambiguity with the return value taking (), the () go on the return value.

2. the:
    f = g
rewrite to:
    f(g)
only happens if f is a function that only has overloads for () and (one argument). No variadics.

3. Parens are required for calling delegates or function pointers.

4. No more @property.

I just worked through this with Alexander Bothe (of Mono-D fame). Here is what C# does.

public Action temp { get; set; }
public Action Event { get { return temp; } }
t.Event; //returns the delegate
t.Event(); //calls the delegate.

Simple, clean, clear, concise. No problems with optional parens.

(Action is a delegate in C#)

--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/

Reply via email to