Re: Motions 5 and 6 under discussion --
> From: John Pryce <j.d.pryce@xxxxxxxxxxxx>
> Subject: Re: Motions 5 and 6 under discussion --
> Date: Tue, 4 Aug 2009 23:03:21 +0100
> To: stds-1788 <stds-1788@xxxxxxxxxxxxxxxxx>
>
> P1788 members
>
> Looking at the concepts that underlie a "standard", I feel, now we
> are getting down to details, that P1788 needs to agree what is meant
> by "conformance". I hope, as far as possible, we shall use the same
> terms and definitions (maybe reworded for extra clarity) as does 754.
> Here is what I understand from reading IEEE Std 754-2008.
>
> "Environment", apparently synonymous with "programming environment",
> seems to be an undefined term.
Yes, this is so.
>
> 2.1.2 and 2.1.33 define "arithmetic" and "interchange" formats, with
> more in 3.1.1 (and of course the gory details later).
Things in section 2 define terms. Section 3 gives the
details of floating-point formats.
>
> Definition 2.1.52 says
> "supported format: A floating-point format provided in the
> programming environment and
> implemented in conformance with the requirements of this standard. ..."
You should know that 754 distinguishes between an
implementation & a programming environment. Any given
implementation (hardware + software usually in the form
of libraries) may provide all that is needed to conform.
So an implementation may be said to conform in the absence
of a compiler. But it is that + the compiler that is
needed to conform at the language level.
We came to this notion late in the game so the language
we use to discuss it is sometimes unclear or inconsistent.
>
> 3.1.2 says
> (A) "A programming environment conforms to this standard, in a
> particular radix, by implementing one or more
> of the basic formats of that radix as both a supported arithmetic
> format and a supported interchange format."
>
> So apparently, "conforming" is something an environment does.
Yes, just so.
This section emphasises the issue of radix because that
is a clarifier that identifies just which subsection of
section 3 applies.
>
> Previous to that it says
> - some things a conforming implementation of any supported format
> shall "provide";
> - ditto, any supported arithmetic format;
> - ditto, any supported interchange format;
>
> "Implementing" a format is not defined, nor is "providing" that
> format, and they have slightly different meanings.
Again, over 7 years the nomenclature used in a document
like this can change. As can the attitudes that lead to
a given nomenclature. We tried our best to make things
consistent in the end but a 70 page document makes it
difficult to get them all.
Take it as a cautionary tale. :-)
>
> And in 1.5 we read
> (B) "Conformance to this standard is a property of a specific
> implementation *of* a specific programming
> environment, rather than of a language specification. "
>
> I think I understand all this -- though (B) slightly contradicts (A)
> -- except for the starred "of" in the previous sentence, which I have
> asked Dan Zuras to clarify for us.
I don't see the contradiction. As I mentioned, radix is
an issue in section 3. But a given programming language
may choose to support/implement binary, decimal, or both.
So conformance at the language level would require the
implementation of that which is needed for that programming
language.
>
> I had an attack of cold feet, wondering if we can vote on motion 6
> before we have thrashed out the meanings, in the P1788 context, of
> these crucial terms
> environment, implementation, provide, support, conform.
> However, my feeling is that we can and should so vote, and should
> discuss these terms as part of voting on the relevant chunks of
> standard text (which I am having a go at constructing).
>
> My two questions:
> - Do you agree with the previous sentence?
I do.
> - Should we take the wording of 754 on these matters, with minor
> changes? Or can we do better, e.g. by merging the ideas of 1.5 and
> 3.1.2 into one section? I find 754 a bit "round the houses" on these
> ideas, and had to jump around the text to get a grip on them.
We can likely do better. Or, at least, be more clear.
But be warned that we may change our attitude on the exact
nature of what it means to conform as we learn more about
what we want in an interval standard.
A good definition of conformance today can serve as a guide
as to what we will accept within the standard. Or it may
need to be changed to accomodate features the implications
of which we are now only dimly aware.
>
> Best wishes
>
> John Pryce
Either way, good luck...
Dan