(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