On 01/24/13 14:46, mist wrote:
> On Thursday, 24 January 2013 at 13:34:08 UTC, Artur Skawina wrote:
>> On 01/24/13 12:50, mist wrote:
>>> But looking at other comments this does not seem popular :(
>>
>> Language design is not a popularity contest.
> 
> Well most discussions seems to flow around simple preference conflict of 
> beautiful UFCS vs consistent function calls. And all compromises tend to 
> explode in difficulty once delegates and function pointers are taken into 
> consideration. I find consistent and unambiguous call syntax more important.

It's not merely "important"; it is essential.

Those arguing for a "beatiful" UFCS syntax have not considered the consequences.
Others see no point in arguing against obvious insanity; which skews the
"popularity" numbers further. Just wait a year or so, until someone actually
runs into the problems, and watch this discussion reincarnate.

I can offhand think of three or four different ways to have a sane /and/
"beautiful" UFCS syntax, but even just discussing them would be a waste of 
time...

For example, both of these are doable w/o involving @property nor magic ()-less
function calls; the second doesn't even require per-function annotations, at the
cost of introducing another operator.

   iota(42, 2_000_000_000).filter!(a=>a&1).map!(to!string).take(10);

   iota(42, 2_000_000_000)->filter!(a=>a&1)->map!(to!string)->take(10);

Having ()-less function calls is just insane; if it isn't obvious to you why,
you just haven't read enough code that (ab)uses them.

IOW, UFCS and @property are not related, except the latter can currently be used
as a workaround for missing functionality.

artur

Reply via email to