Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix modal verbs #4194

Merged
merged 7 commits into from Sep 21, 2020
Merged

Fix modal verbs #4194

merged 7 commits into from Sep 21, 2020

Conversation

jensmaurer
Copy link
Member

@jensmaurer jensmaurer commented Sep 13, 2020

Partially addresses cplusplus/nbballot#393

@zygoloid zygoloid added this to the C++20 milestone Sep 15, 2020
@zygoloid zygoloid added the ballot-comment Response to an NB or ISO comment on a ballot label Sep 15, 2020
Copy link
Member

@zygoloid zygoloid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I think we can be a bit bolder in using "can" rather than "could"; usually there doesn't seem to be any real difference in the result, and it seems like ISO is a lot happier about "can" than "could".

Comment on lines 264 to 265
Consequently, the algorithms cannot
be called with explicitly-specified template argument lists.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm. "cannot portably" would be more accurate, but I don't know that we want to talk about portability. How about:

Suggested change
Consequently, the algorithms cannot
be called with explicitly-specified template argument lists.
Consequently, an implementation can reject
calls that specify an explicit template argument list.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

@@ -9537,7 +9537,7 @@
that \tcode{exclusive_scan} excludes the $i^\text{th}$ input element
from the $i^\text{th}$ sum.
If \tcode{binary_op} is not mathematically associative,
the behavior of \tcode{exclusive_scan} may be nondeterministic.
the behavior of \tcode{exclusive_scan} is nondeterministic.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
the behavior of \tcode{exclusive_scan} is nondeterministic.
the behavior of \tcode{exclusive_scan} might be nondeterministic.

I think whether it actually is deterministic or not depends on the implementation. We certainly don't want to imply that an implementation is required to have a source of true nondeterminism. (Use "can be" if you prefer.)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@@ -9664,7 +9664,7 @@
that \tcode{inclusive_scan} includes the $i^\text{th}$ input element
in the $i^\text{th}$ sum.
If \tcode{binary_op} is not mathematically associative,
the behavior of \tcode{inclusive_scan} may be nondeterministic.
the behavior of \tcode{inclusive_scan} is nondeterministic.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
the behavior of \tcode{inclusive_scan} is nondeterministic.
the behavior of \tcode{inclusive_scan} might be nondeterministic.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@@ -9739,7 +9739,7 @@
\tcode{transform_inclusive_scan} is that \tcode{transform_exclusive_scan}
excludes the $i^\text{th}$ input element from the $i^\text{th}$ sum.
If \tcode{binary_op} is not mathematically associative,
the behavior of \tcode{transform_exclusive_scan} may be nondeterministic.
the behavior of \tcode{transform_exclusive_scan} is nondeterministic.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
the behavior of \tcode{transform_exclusive_scan} is nondeterministic.
the behavior of \tcode{transform_exclusive_scan} might be nondeterministic.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@@ -9843,7 +9843,7 @@
\tcode{transform_inclusive_scan} is that \tcode{transform_inclusive_scan}
includes the $i^\text{th}$ input element in the $i^\text{th}$ sum.
If \tcode{binary_op} is not mathematically associative,
the behavior of \tcode{transform_inclusive_scan} may be nondeterministic.
the behavior of \tcode{transform_inclusive_scan} is nondeterministic.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
the behavior of \tcode{transform_inclusive_scan} is nondeterministic.
the behavior of \tcode{transform_inclusive_scan} might be nondeterministic.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@@ -3696,7 +3696,7 @@
the relationship between the template parameters and the rest of the
signature.
\begin{note}
Two distinct function templates may have identical function return types and
Two distinct function templates could have identical function return types and
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Two distinct function templates could have identical function return types and
Two distinct function templates can have identical function return types and

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@@ -7717,7 +7717,7 @@

\pnum
\begin{note}
Type deduction may fail for the following reasons:
Type deduction could fail for the following reasons:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Type deduction could fail for the following reasons:
Type deduction can fail for the following reasons:

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

source/time.tex Outdated
@@ -1058,7 +1058,7 @@
\pnum
The \tcode{duration} template uses the \tcode{duration_values} trait to
construct special values of the duration's representation (\tcode{Rep}). This is
done because the representation might be a class type with behavior which
done because the representation can be a class type with behavior which
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
done because the representation can be a class type with behavior which
done because the representation can be a class type with behavior that

(en passant)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

source/time.tex Outdated
@@ -1140,7 +1140,7 @@
\tcode{duration} arguments will convert to it without requiring a division
operation. The representation of this type is intended to be able to hold any
value resulting from this conversion with no truncation error, although
floating-point durations may have round-off errors.
floating-point durations could have round-off errors.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
floating-point durations could have round-off errors.
floating-point durations can have round-off errors.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

source/lex.tex Show resolved Hide resolved
@zygoloid zygoloid added the needs rebase The pull request needs a git rebase to resolve merge conflicts. label Sep 16, 2020
@jensmaurer jensmaurer removed the needs rebase The pull request needs a git rebase to resolve merge conflicts. label Sep 16, 2020
@jensmaurer
Copy link
Member Author

Rebased, fixed + force-pushed.

source/atomics.tex Show resolved Hide resolved
source/basic.tex Outdated
\recommended
Implementations should ensure that
repeated and particularly inopportune interference
from other threads, e.g. by repeatedly stealing a cache line
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
from other threads, e.g. by repeatedly stealing a cache line
from other threads, for example by repeatedly stealing a cache line

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

source/basic.tex Outdated
\recommended
Implementations should ensure that
repeated and particularly inopportune interference
from other threads, e.g. by repeatedly stealing a cache line
for unrelated purposes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is a new, independent "should", but a restatement of the prior normative "should". Maybe something like this would be an improvement:

[Note: Under this condition, interference from other threads cannot indefinitely delay progress, even if such interference is repeated and particularly inopportune (for example, by repeatedly stealing a cache line between load-locked and store-conditional instructions), and such anomalies can therefore be safely ignored by programmers. -- end note]

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Under this condition" sounded not good. Rephrased by putting programmers first; please check again.

source/basic.tex Outdated
may prevent forward progress,
e.g.,
by repeatedly stealing a cache line
\recommended
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we want a \recommended here. I think the text that follows is just an elaboration of the should on the previous two lines.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

\tcode{vector}
is the type of sequence container that should be used by default.
is the sequence container that can be used by default.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think "can" is appropriate here; this really is advice for the programmer. Maybe we can avoid normative encouragement with factual statements like: "The sequence container vector is appropriate in most circumstances. Use of array may be appropriate when the container has a fixed size [...]"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed "can", but otherwise left the structure intact. Note the funny part right afterwards, for which we should leave the context intact.

@zygoloid zygoloid added the changes requested Changes to the wording or approach have been requested and not yet applied. label Sep 18, 2020
@jensmaurer jensmaurer removed the changes requested Changes to the wording or approach have been requested and not yet applied. label Sep 18, 2020
@jensmaurer
Copy link
Member Author

Fixed, rebased, and force-pushed.

@jensmaurer
Copy link
Member Author

Added a commit that removes should and may from footnotes (simple "grep").

@zygoloid zygoloid added the changes requested Changes to the wording or approach have been requested and not yet applied. label Sep 18, 2020
@zygoloid
Copy link
Member

Hi Jens, there are quite a lot of unaddressed comments still. The github UI is pretty bad and sometimes hides comments in the "Conversation" view, but you can manually unhide them, and most of them (those that still match a line in the current set of changes) will show up in the "Files changed" view.

@jensmaurer
Copy link
Member Author

jensmaurer commented Sep 19, 2020

@zygoloid , I found the rest of the comments and hopefully addressed them all.

@jensmaurer jensmaurer removed the changes requested Changes to the wording or approach have been requested and not yet applied. label Sep 19, 2020
@jensmaurer
Copy link
Member Author

Some more fixes for footnotes.

source/atomics.tex Outdated Show resolved Hide resolved
source/future.tex Outdated Show resolved Hide resolved
source/iostreams.tex Show resolved Hide resolved
source/iostreams.tex Outdated Show resolved Hide resolved
source/iostreams.tex Outdated Show resolved Hide resolved
source/threads.tex Show resolved Hide resolved
source/threads.tex Show resolved Hide resolved
source/utilities.tex Outdated Show resolved Hide resolved
source/utilities.tex Outdated Show resolved Hide resolved
source/utilities.tex Outdated Show resolved Hide resolved
@jensmaurer
Copy link
Member Author

All fixed + pushed.

Partially addresses ISO/CS 017 (C++20 DIS)
Partially addresses ISO/CS 017 (C++20 DIS)
Partially addresses ISO/CS 017 (C++20 DIS)
and prefix them with "Recommended practice"

Partially addresses ISO/CS 017 (C++20 DIS)
Partially addresses ISO/CS 017 (C++20 DIS)
Partially addresses ISO/CS 017 (C++20 DIS)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ballot-comment Response to an NB or ISO comment on a ballot
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants