[cpp-threads] Editorial comments on the straw man

Nelson, Clark clark.nelson at intel.com
Thu Jan 19 16:56:28 GMT 2006


> > The terms "occurs before" and "happens before", and the way they are
> > mapped to the concepts they represent, appear (from my 
> perspective) to
> > have been pulled out of a hat. Given that you're 
> effectively trying to
> > replace the term "sequence point", for the intra-thread concept I'd
> > suggest the term "sequenced"; for example, in the expression (A, B),
> > every evaluation and side effect of A is sequenced before every
> > evaluation and side effect of B. For the inter-thread 
> concept, how about
> > something like "observably sequenced", or even 
> "inter-thread sequenced"?
> 
> Unfortunately, the current term "sequence point" is completely broken,
> and there are several groups who believe vehemently in incompatible
> interpretations.  Even worse, many of those groups haven't thought the
> problem through and don't realise what they have assumed :-(
> 
> In my view, avoiding any confusing with that mess seems a good idea. 

I disagree that the _term_ "sequence point" is completely broken; it's
the _concept_ and the _usage_ of the term/concept (most especially, all
references to "the next" or "the previous" sequence point) that are
wrong. On that I think we agree.

In any case, your opinion appears to be that the confusion about
"sequence point" is so intense that it has poisoned the word "sequence"
past redemption. It's an interesting opinion, and of course you're
entitled to hold it, but I don't share it at all. There's just no
getting around the fact that any claim that A happens/occurs before B
_is_ a statement about the way they are sequenced.

And I think that the vast majority who _think_ that they understand
sequence points (however erroneously) will be less confused by the
changes to fix them if we use a recognizably similar term -- even though
we will need to scrap the definition/concept.

But the selection of the term is an editorial question, not worth going
to the mat over. Except that I think it would be a terrible source of
confusion to use terms which are interchangeable in the vernacular
("happens"/"occurs") to denote such technically distinct concepts.

Clark



More information about the cpp-threads mailing list