(j3.2006) [was Re: Interp letter ballot #25]

Van Snyder Van.Snyder
Fri May 18 15:13:22 EDT 2012


Malcolm wrote:

> The quote says "A program shall not invoke" i.e. 
> the program is not standard-conforming.  That is even less helpful to the user 
> than what we are actually saying!

It is unhelpful to specify that a program cannot invoke an intrinsic
function with essentially all of its possible argument values.

What I am advocating is not less helpful to the user.  I am advocating
that when REAL is invoked with a double-precision argument, it returns a
result value that is a member of the set of valid values of the type and
kind of the result.

The only excuse for the sophistry in the answer to F03/0121 is to cause
some artfully contrived SPEC benchmarks to run faster.  The argument
that the interpretation most useful to users would intolerably slow
programs is a fatuous conceit.  The only reason ever to invoke REAL with
a real argument is to produce a result value that is a member of the set
of valid values of the type and kind of the result.  This appears
extremely rarely in real programs.  In my 1/3 million line program, it
appears twice.

It might be fun to stick your thumb in the eye of the user and then
laugh, but it is definitely not helpful.

> In any case 13.7.1p2 is known to be broken...

Then we had better revisit F08/0008, which purporported to repair
13.7.1p2, since my ballot comment quoted from that paragraph as it would
be revised by that interpretation.





More information about the J3 mailing list