RE: Motion 46 Interval Literals for vote
I vote For
-----Original Message-----
From: stds-1788@xxxxxxxx [mailto:stds-1788@xxxxxxxx] On Behalf Of John Pryce
Sent: Saturday, July 13, 2013 2:54 AM
To: Ralph Baker Kearfott
Cc: stds-1788
Subject: Motion 46 Interval Literals for vote
Baker, P1788
Chair, are we ready to vote?
I apologise for having written about this motion "Here is text to vote on", or similar. Well, yes, but motion 46 is not about the actual wording but about the content. (BTW that means it passes on simple majority, not two thirds.)
This is important because the motion is in danger of being endlessly bogged down in the debate
"Do we want a small, basic standard or a larger, fuller-featured standard?"
As it relates to motion 46:
- Do we want rational number literals such as "22/7"? NO!! (e.g. Jürgen) YES!! (e.g. Dmitry)
- Do we want other number literals to follow (a) the syntax of the host language,
or (b) a minimal syntax whose productions are common to all widely used languages?
[I started with (b), which was criticised; changed to (a);
now there is pressure to go back to (b).]
- etc.
It seems clear we need both a "full" standard, and a "basic" one that is a subset.
We have a willing candidate to be "Technical Editor for the Basic Standard" (TEBS) and I hope we can shortly announce he has accepted the chair's formal invitation. His role is to create the basic subset and, I hope, a simplified document that describes only that subset. The basic standard will be angled toward ease of implementation.
That being so, I ask us to vote on motion 46 concentrating on the principles. Please ignore issues of what details are in or out of the subset: you will have your say on these when the TEBS makes his proposals.
======
Motion 46, revision of 13 July 2013.
======
The syntax and semantics of interval literals shall be as specified in the attached extract from Draft 7.3.
======
Clarification
======
- The TEBS will choose a subset to form the definition of interval literals in the basic standard. ("Subset" means any literal that conforms to the basic standard also conforms to the full standard.)
- The main principles you are voting on, as I see it, are:
1. Interval literals (ILs) have a mathematical value. Converting
them to finite precision intervals is a separate operation.
2. ILs are what the Level 2 constructor text2interval(), of any
finite precision type, takes as input.
3. ILs have a close relation to interval I/O: it shall be possible
to write an internal interval to an IL, and read an IL to an
internal interval, preserving containment in either direction.
(Not directly covered by this motion, but relevant.)
4. Inf-sup form "[1.2,3.4]" and uncertain form "12.345?6" are both
a Good Thing.
- Whether number literals follow the host language syntax or a simple language-independent syntax, is left to the TEBS to decide.
======
Notes
======
- In the new text I have added a definition of what "last place" (an integer) and "unit in last place" (ulp) mean in this context, since I learned they have more than one meaning and are unfamiliar to some.
[Example. For the decimal strings 123 and 123. , as well as 0 and 0. , the last place is 0 and one ulp is 1. For .123 and 0.123 , as well as .000 and 0.000 , the last place is −3 and one ulp is 0.001.]
- I hope to have corrected an error in the definition of "exponent field" for uncertain form, which was inconsistent as to whether the prefix character 'e' was included or not.
- This was the original version of the motion.
> ======
> Motion
> ======
> The syntax and semantics of interval literals shall be
> - as specified in Draft 7.1 circulated as 20130402Level1and2textV7.1Sent.pdf;
> - with the addition of the singleton interval form [x] which is equivalent to [x,x].
>
> The standard will not at this stage include a facility for named constants such as pi to be included in the definition of an interval literal.