[std-interval] Revised document available

George Corliss George.Corliss at marquette.edu
Thu Sep 14 11:59:28 PDT 2006


Sylvain and all,

> A revised version of the proposal is now available at:
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2067.pdf

Can you help me understand the difference between "undefined" and
"implementation-dependent" or "implementation-defined"?

I am not familiar with the vocabulary of standards, but it would seem to me
that "undefined" means that not only does the standard not specify what the
result should be, but that no one else does, either.  In principle, the
result is permitted to be non-deterministic on a single machine, let alone
on a single implementation.

I would expect "implementation-dependent" to mean that the choice is up to
the implementation.  I see you often use "implementation-defined," which I
would interpret to mean that it is the responsibility of the implementation
to specify what it will do and then to do what it specified?

If those interpretations are consistent with standard writing practice, is
there a reason to leave ANYTHING "undefined?"  If we cannot specify results
for each implementation, should not the implementers be required to specify,
that is, to be "implementation-defined"?

If that makes sense, would it also make sense to specify that
implementations on IEEE machines take advantage of IEEE support?  For
example, one might say, "On machines that support infinities, ... On other
machines, ... is implementation-defined."  That would be a MUCH stronger
specification of portability without imposing additional requirements in
practice.

Dr. George Corliss
Electrical and Computer Engineering
Marquette University
P.O. Box 1881
1515 W. Wisconsin Ave.
Milwaukee, WI 53201-1881
George.Corliss at Marquette.edu
414-288-6599 (office); 288-4400 (GasDay);
    288-6280 (Dept.); 288-5579 (fax)
Office: Haggerty Engineering 296
Www.eng.mu.edu/corlissg




More information about the Std-interval mailing list