Re: Comments on the IEEE-SA draft of P1788
Michel, P1788
On 26 Dec 2014, at 22:32, Michel Hack <mhack@xxxxxxx> wrote:
> I have a bunch of small editorial comments, and nothing really substantial.
> I'm actually quite impressed by the overall quality. It is in much better
> shape than the initial P754 versions in 2007!
>
> Three items merit attention, and perhaps others can comment before I commit
> my observations to my official reply.
>
> (1) Under 1.3, Inclusions, there is no mention of boolean functions of
> intervals. There are; see section 9.6.
Well, there is: 1.3 has the item
- Interval comparison relations.
I suggest to change this, and the following item
- Required elementary functions.
to
- Interval comparisons and other boolean functions of intervals.
- Required elementary functions of intervals.
which are more explicit.
> (2) Some subsections of clause 9, Required operations, only describe operations
> and don't state that they are required (9.2 and 9.3); others do say SHALL.
My view is that there is a catch-all SHALL in line 2 of §9:
(*) An implementation shall provide each ...
and following subclauses should just be descriptive, except when specifying something that goes beyond (*), as in 9.4 Constructors. So in §9, remove SHALLs rather than add them.
- Ideally one would rewrite 9.4 with no SHALLs, but I can't see how to at present.
- In 9.6 I propose change
The comparison relations in Table 9.3 shall be provided, whose value
is a boolean (1 = true, 0 = false) result.
to simply
The comparison relations in Table 9.3 have a boolean (1 = true, 0 = false) value.
- In 9.7 change "shall be provided, with" to just "have".
> The same happens again in clause 10, Level 1 Set flavor, for 10.5.6, 10.5.6
> and 10.5.7 (10.5 is "required operations").
Similarly I suggest
- In 10.5.1 change "shall be" to "is".
- In 10.5.4 change "They shall be provided as in ..." to "They are listed in ..."
etc.
> Clause 12 (Level 2 Set flavor) has the missing SHALLs.
>
> Perhaps this is all ok after all. The missing SHALLs bothered me on my
> first reading, but less so when I reread the sections in a broader context.
I think it's right to have the SHALLs in §12. Do you approve the earlier changes, above?
> (3) The example of a user-defined function in section 11.8 (P 44) mentions
> the "case" function as if that was one of the primitives of the standard,
> but that's no longer the case. Perhaps this could be paraphrased?
Hm. Good point. Can we just change "implemented by the case function" to "implemented by an if ... else ... construct"?
John