At 13:26 19-03-2004 -0800, Richard wrote:
>--On Friday, March 19, 2004 9:55 PM +0200 Jan van Oosterwijk
><[log in to unmask]> wrote:
>
> > forall(i = 1:n-1, j = i:m-1)
>
> > I can't find a restriction in the standard that forbids this.
Thanks to all who responded (Richard, Dick, Malcolm).
I knew that the statement is illegal as it is.
But ... In the end it was just a typo I overlooked; what I meant was:
forall(i = 1:n-1, j = 1:m-1)
^^^
>Well, I don't see it forbidden in so many words, but it doesn't
>make sense and is thus indirectly forbidden by either of two
>things. First, you are referencing an undefined variable
>(I isn't defined when you are needing it to be). Second,
>the standard doesn't give an interpretation of what this
>would mean (and there's a very general statement that things
>that have no interpretation givven by the standard are
>illegal).
>
>Where are you expecting the value of i to come from for the
>j=i:m-1 part? Presumably you expect it to be from the i index
>variable, but that doesn't have a defined value yet when you
>need it; it doesn't have a value until you are executing
>the body of the forall.
>
>See 7.5.4.2 of f95 (which is too long to quote in detail).
>In particular note that the determination of the values
>for the index name variables (all of them) is done *FIRST*.
>Then, it is only the forall body that is executed for each
>combination of the index values. You don't do the determination
>of some of the index values for each of some of the other index
>values.
>
>I think what you basically have is "j=something_undefined:m-1".
>
>--
>Richard Maine | Good judgment comes from experience;
>[log in to unmask] | experience comes from bad judgment.
> | -- Mark Twain
\---
Best regards,
Jan van Oosterwijk | "They that can give up essential liberty
Netherlands | to obtain a little temporary safety deserve
| neither liberty nor safety."
| -- Benjamin Franklin (1759)
write(*,*)transfer((/778985834,1869504886,1702130543,1785296754 &
&,1635205227,1868849518,1819160175 /),(/'x'/)) ; end
mailto:Jan<dot>vanOosterwijk<at>wanadoo<dot>NL
http://huizen<dot>dto<dot>tudelft<dot>nl/vanOosterwijk/
|