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.