On Wednesday, 27 February 2013 at 05:34:44 UTC, kenji hara wrote:
The mistake in C is mixing of function name and function address. At least there is one ambiguity which appearance and meaning does not
correspond one-to-one.


That is false. In C, function pointers are done as follow :
void foo() {
    printf("foo");
}

void (*functionPtr)(); // equivalent to D void function() functionPtr;
functionPtr = &foo; // Note the presence of & operator.

functionPtr(); // Call foo

This is why I don't understand the point the 3 of you are trying to make. Current behavior of D is much more close to C than what the DIP proposes.

This behavior is very specific to C and C++. If C's behavior was a mistake, then it an argument FOR this DIP, not against.

In current D, the ambiguity is _already_ resolved - if you want to function
address, use & operator.


D behave very much like C on that regard, so I don't really see how this can be true.

As far as I see, DIP27 will overturn the chess board, remove property feature, change the meaning of 'foo', deprecate '&foo', and finally add
nothing for the language users.


No, DIP27 is only about functions. It says nothing about properties. It add stable foundation we can build upon.

Reply via email to