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

Re: [IEEE 1788]: Post-ballot comment



Am 12.02.2015 um 02:45 schrieb Vincent Lefevre:
On 2015-02-11 20:58:23 +0100, Oliver Heimlich wrote:
I know the ballot comment phase is over, but I found another editorial issue
in the document that hopefully can be resolved together with the official
comments.

In Table 10.7 (page 38) the 10th state of the interval overlap function is
called “equal”. However, in the figure on page 39, line 8, it is called
“equals”.

I suggest to fix the definition in the table and call it “equals” for two
reasons:
1. This would be consistent with the other states, e.g., starts, finishes.

There would be a drawback. The other states have the forms:
Xs and XedBy (except for "before" and "after", which are also
paired, but named differently). But "equal" is different: it is
the only state self-symmetric. If you name it "equals", then one
could think: where is the "equaledBy" one? So, this would not be
so consistent.

The equal state describes an equivalence relation on the set of non-empty intervals and is therefore symmetric. The other states (except bothEmpty) are not symmetric.

Would one expect it to be not symmetric and look for its inverse?

2. It would prevent naming conflicts with the boolean equal function.

But the difference would be so small that it could remain unnoticed.
The state could be called equalNE, for "equal and non empty", since
here the intervals must not be empty to be in this equal state, while
with the boolean function, equal(Empty,Empty) is true.

I recently ran into a problem with a simple parser for a P1788 based language, which had to discriminate the two. That's why I brought up the naming problem.

Yes, one could fall for the wrong conclusion overlap(a, b) = equal ⇔ equal(a, b) = true. Especially, when both names are equal (no pun intended).

I don't think that we must highlight the nonempty states with a distinct name. There already are special states for the states with empty intervals. Also, this would lead to more renames: For example the empty intervals fulfill the definitions of “before”, “after”, “contains” and “containedBy”. In 2010 the original motion had named these states with a P-suffix, which somehow has been lost during the writing of the standard document.

I thought the “equals” naming proposal would create a simple, consistent resolution together with an easy name, which has already made it into the document.

Best regards
Oliver Heimlich