(j3.2006) a question on interp F08/0049
Mon Nov 15 19:12:56 EST 2010
Aleks Donev wrote:
>On 11/15/10 03:26, Malcolm Cohen wrote:
>> Don't confuse this with the COELEMENTAL attribute! Of course coelemental
>> functions cannot have variable type parameters at this time.
>If Malcolm meant this as a joke
Yes. An obviously horrible idea.
Jim Xia wrote:
> the original wording in F08 seems to prevent this on purpose.
That's not an accurate characterisation of what happened here. The so-called
original wording was not "originally" in F2008 but was put there by the flawed
answer to interp F03/0119, see F08/0049 which begins
"Interpretation F03/0119, which became part of the Fortran 2008 standard, ..."
followed by an explanation of why F03/0119 is flawed.
> I'd not be surprised to see a further interp trying to reverse this interp
> answer again.
F08/0049 does not "reverse" F03/0119!
The edit in F08/0049 does effectively replace the edit in F03/0119, but please
note that the problematic example in F03/0119, viz example3, which F03/0119 says
"was intended to be prohibited", remains prohibited by F08/0049. (And example1
remains conforming, and example2 was already permitted in Fortran 2008 and
remains permitted by F08/0049.)
You can call it a "partial reversal" if you like - but to the extent that it is
a reversal, it is a reversal of a case that was not considered by F03/0119, i.e.
an unfortunate consequence of the edits but without any justification in
F03/0119 for that effect. The justification in F03/0119 is that we did not
intend to allow "elemental functions to produce arrays whose elements have
different length type parameters", and F08/0049 agrees with that justification.
You can certainly doubt that we yet have the wording right, since we got it
wrong in F03/0119, but we absolutely did not intend to introduce an
incompatibility with Fortran 95.
................................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the J3