Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Main changes that made V8.0, plus



P1788

On 2013 Oct 2, at 14:26, John Pryce wrote:
> ... I circulate version 8.0. I believe it is fairly close to the final text of
> - the introduction
> - the flavor-independent Chapter 1
> - the Set-Based standard Chapter 2, up to the end of Level 2.
> 
> Also, I believe the clause numbering has reached its final state. 
> - Ch 1 will contain clauses 1 to 9, with their current subclause numbering.
> - Ch 2 will contain clauses 10 to 13, with their current subclause numbering.
>  Except there is a suggestion that 12.12.13 "Reduction operations" should be
>  a subclause (after current 12.13?), not a sub-subclause.

After going through the log messages on the SVN server, I believe the main changes made since V7.3 of June 25 are what is listed below.

What next? We need to start voting on this text. And to complete the unfinished text -- a small proportion of the whole, but crucial.

To set the ball rolling I submit 
Motion==============================================
Clause 6 "Expressions and the functions they define" 
be accepted as standard text.
====================================================
I apologise that this means rejecting text that was accepted before (motions 40, 41 I think) but there is good reason IMO. See explanation below, which forms a mini-rationale.

Another thing: Ned Nedialkov is working on a "Basic Standard" document. I think this important initiative needs to be supported by a PAR (Project Authorisation Request) that defines its aims and scope. In the first instance IMO it should be put to the vote to be authorised by P1788; whether it should be also authorised higher up by IEEE, I leave to the Chair.

I also think the current LaTeX source is sufficiently settled and near completion to be sent to IEEE Editorial Staff for them to work on making it match the correct layout of an IEEE Standard. Chair, what do you think?

John Pryce

========================================================================
Main changes between V7.3 and V8.0

Chapter 1: Flavor-independent (except for conformance clause) material
----------------------------------------------------------------------

- §3 Conformance. Christian put most of structure & content in place but
  still to do some important additions + many changes to details.

  §4.2 Definitions. Many changes to existing ones, and new ones added.

- §6 Expressions. I had previously (re)written this with an informal 
  definition of what an expression is, on the grounds that a formal
  defn would constrain a language, which is not 1788's job. 
  Wolfram Kahl (McMaster) pointed out that "expression" as used in 
  FTIA is nothing to do with a language - one could apply the FTIA to
  results of an interval program written in machine code, say. 
  So rewritten again and with more precise definitions.

  Big change, so I think this needs a separate motion.

- Operations required/recommended in all flavors. Statement "set of 
  required & recommended ops is same in all flavors" previously at start
  of §7 cannot be honoured, since e.g. empty() is required in set-based 
  but needn't even make sense in some flavors.
  So changed to "There is a set of ... operations ... that are required 
  in all flavors", plus new Clause 9 to define this set.
  ("Recommended in all flavors" set dropped entirely.)

- Flavors §7.2 - 7.3 notation simplified - no more Gothic letters.

Chapter 2: Set-based standard
-----------------------------
- §10.6 - 10.7 Required operations (Level 1 spec). Minor rearrangements 
  done by Jürgen, some inconsistencies with Level 2 text removed.
  Reference to new §9 added.

- §12.1 - 12.3 First few subclauses of Level 2 rearranged and definitions
  tidied up. Distinction made between "equal as datums" and "equal 
  according to the equal() comparison function".

- §12.4 754-conformance. Made more precise, especially by using notion of 
  "part" of an implementation, to be defined in 3.1 of Conformance clause.

***Christian. We need you to make needed §3 changes ASAP.***
  
  In particular, mixed-type operations on 754-conforming types now more 
  precisely specified.

- §12.12.8 Level 2 constructors spec tightened up, both textToInterval and 
  numsToInterval, in connection with interval literals changes. 
  Conditions under which 'l <= u is indeterminate' case is recognised shall
  be documented. Two named exceptions defined, which can be signaled by a
  constructor.

- §12.12.9 Numeric functions of intervals. Rules for rounding Level 1 result
  to value of a format F tightened up -- specified in almost all cases with 
  requirement that implementation specify the remaining cases (e.g. tie-
  breaking) and document this.

- §12.10 Accuracy of operations. Hopefully the rules for this now finalised
  after extensive discussions. Specified accuracies *required* for 754-
  conforming, *recommended* for other types. Accuracy shall be documented in 
  all cases.

- §12.11 Interval literals (V7.3 had these in §11.11.1). Large changes
  made by motion 46, further largish changes by Dmitry's portable literals 
  motion 51.
  In particular interval constructor now produces a *decorated* interval by
  default.
  
- §13 I/O. Various inconsistencies & gaps removed after discussions mainly
  with Vincent Lefevre & Michel Hack.

- Annex. Rules for submitting a new flavor for inclusion in the standard 
  added by Baker. These may be expanded.