scope for array parameters

Jonathan M Davis jmdavisProg at gmx.com
Tue Sep 4 17:10:16 PDT 2012


On Wednesday, September 05, 2012 01:13:00 ixid wrote:
> What does -property supposedly solve?

It's supposed to make it so that property functions are used as variables and 
non-property functions are used as functions, since the point of property 
functions is to emulate variables. It's very buggy at the moment though, so it 
doesn't really enforce everything that it's supposed to enforce. IIRC, it only 
enforces that non-property functions are called with parens and not that 
property functions are called without them.

> It creates a horrid mess of
> brackets that ruin the elegance of UFCS code.

You mean parens? Regardless, it means that you using functions as if there 
were variables, which I'm very much against. They're functions and should be 
called as such. But not everyone agrees.

I think that it's pretty much a guarantee that we're eventually going to end 
up with @property functions having to be called without parens (I don't think 
that very many people disagree on that). The bigger question is whether we're 
going to follow TDPL and also make it so that non-property functions must be 
called with them (as -property currently checks for). The number of parens 
required with UFCS (particularly with functions requiring template arguments) 
is one of the reasons that some people give that they think that non-property 
functions shouldn't be forced to be called with parens.

- Jonathan M Davis


More information about the Digitalmars-d mailing list