(j3.2006) J3/12-nnn J3 interpretations letter ballot #26 aftermeeting 198

Malcolm Cohen malcolm
Fri Sep 14 01:19:59 EDT 2012


Nick Maclaren writes:
>This is obviously not a vote, just a comment from a WG5 member.

I think there would be nothing wrong with expressing it as an intention to vote 
(after all you get the chance in the next round if it gets that far).

>F08/0075
>F08/0076
>
>[ This is more of an aside ]
>
>I think that the decisions to allow arbitrary expressions in both
>locations should be reconsidered in the next revision.  I would favour
>deprecating any expression other than a designator or function
>reference.  There is precedent in the handling of assumed-length
>function results.

I do not like this suggestion.

We only just added these facilities, and no-one has a full F2008 compiler on the 
market yet, in fact no-one has implemented these facilities yet in a shipping 
compiler, according to Fortran Forum.

If we think these facilities are just broken, we should remove them now.  Not 
later.

There is no such thing as "deprecating".  We can declare them to be obsolescent, 
or we can delete them.  Declaring a feature that was only just added as 
"obsolescent" seems a trifle odd.  If we're going to delete them, now is the 
time.

In particular, let's not wait until everyone has implemented them and then 
declare them to be obsolescent in 2015 so they have to go back and add warning 
messages to their compilers and then delete them in 2020 so they have to go back 
and change the warning messages.

The problems here are that we got the syntax badly wrong.  It is not entirely 
unreasonable to make a "bigger than the absolutely minimal" change to the syntax 
to fix the problem, especially since it could be argued that the minimal change 
is hard to understand and also encourages programs with very confusing syntax; 
this is hardly "encouraging program reliability".  But if we think that the 
minimal change is the correct fix now, we should commit to supporting that in 
the future, and not nibble at the edges in a later revision.

>F08/0078
>
>I think that the answer is confusing.  I would add to the discussion
>something like:
>
>    On the other hand, the processor is not required to deliver any
>    particular sign of zero in expressions like -(A-A).

Ugh.

>I think that is what is meant - at least, I hope so.

You will be disappointed then.

>  Some clarification would be useful in any case.

Clarification of a question that was not asked is not required.  Indeed, it 
would be actively harmful.

The question is whether the processor is
  "required to distinguish between the real values +0 and -0"

Note the total lack of anything about how one might obtain such a value.  Just 
whether the values are distinguished.

As the discussion states (paragraph 2), the standard itself specifies different 
semantics when a processor "distinguishes" between positive and negative zero. 
That is what the question is about.  Not about arithmetic operations, 
expressions, or anything else.

Cheers,
-- 
................................Malcolm Cohen, Nihon NAG, Tokyo. 




More information about the J3 mailing list