Is [] mandatory for array operations?
Jason House
jason.james.house at gmail.com
Thu May 6 16:02:03 PDT 2010
Don Wrote:
> Walter Bright wrote:
> > Don wrote:
> >> Walter Bright wrote:
> >>> Don wrote:
> >>>> There are several compiler bugs relating to array operations, and
> >>>> almost all relate to this issue. I'd like to fix them, but I need to
> >>>> know which way it is supposed to work.
> >>>
> >>> The [] should be required. I worry that otherwise there will be
> >>> ambiguous cases that will cause trouble.
> >> Excellent.
> >
> > Glad we agree. An example is the C hack where if foo is a function, then
> > &foo as well as foo mean the address of the function. This little
> > ambiguity, originally meant as a convenience, has caused much grief.
>
> Two questions. (1) What happens with functions? For example:
> x[] = sin(y[]);
> OR
> x[] = sin(y[])[];
>
> Seems to me that the [] is not necessary. But it does need to be present
> for properties.
I strongly favor the first syntax since it matches how I'd write it in a for loop. i.e. I'd replace [] with [i]. If there was a sin variant that took array input, then I'd expect the line to be:
x[] = sin(y)[]
which would translate to creating a temporary to hold sin(y) array.
More information about the Digitalmars-d
mailing list