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

P2999 R3 Sender Algorithm Customization #1670

Open
wg21bot opened this issue Oct 16, 2023 · 13 comments
Open

P2999 R3 Sender Algorithm Customization #1670

wg21bot opened this issue Oct 16, 2023 · 13 comments
Labels
B1 - focus Bucket 1 as described by P0592: material that is mentioned in this plan. C++26 Targeted at C++26 executors LWG Library lwg-pending LWG Chair needs to disposition size - medium paper size estimate
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Oct 16, 2023

P2999R0 Sender Algorithm Customization (Eric Niebler)

@wg21bot wg21bot added the LEWG Library Evolution label Oct 16, 2023
@wg21bot wg21bot added this to the 2023-telecon milestone Oct 16, 2023
@inbal2l inbal2l added size - medium paper size estimate executors B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review C++26 Targeted at C++26 and removed B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 labels Oct 16, 2023
@inbal2l
Copy link
Collaborator

inbal2l commented Nov 3, 2023

D2999R1 Sender Algorithm Customization (Eric Niebler)
Will be seen in Kona, Nov 2023 meeting

@inbal2l inbal2l added the B1 - focus Bucket 1 as described by P0592: material that is mentioned in this plan. label Nov 5, 2023
@inbal2l
Copy link
Collaborator

inbal2l commented Nov 9, 2023

Library Evolution Telecon 2022-11-06

D2999R1: Sender Algorithm Customization

2023-11-06 Library Evolution Kona Minutes

Champion: Eric Niebler

Chair: Inbal Levi / Fabio Fracassi

Minute Taker: Ben Craig

Start: 2023-11-07

Summary

POLL: We want to add late customizations (as proposed by D2999R1)

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
9 10 0 0 1

Attendance: 27 + 7 = 34

# of Authors: 1

Author Position: SF

Outcome: Strong consensus in favor

SA: Worried about the increasing complexity, and how it will impact user adoption. Would like to see investigation on removing early customization first

POLL: We should explore getting rid of early customization (paper required)

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
5 9 7 2 0

Attendance: 27 + 7 = 34

# of Authors: 1

Author Position: N

Outcome: Consensus

WA: "If we just did this, we could make the whole thing simpler" around early customizations. We should just do that.

POLL: We generally approve on the customization mechanism presented in D2999R1

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
6 12 1 1 1

Attendance: 27+7 = 34

# of Authors: 1

Author Position: SF

Outcome: Consensus

SA: Would like to see investigation in higher granularity than domains

The proposed mechanism for CPs was supported by LEWG.

Requested additions:

  • Examples of usability of the sender_of concept (and - possibly - alternative design)
  • The author will consider the following names, and come back with either reasoning for the existing one (in the paper) or an alternative one. Refer to the following name for the utility currently called “is_sender”/”is_receiver”:
    • is_sender, is_receiver
    • sender_tag, receiver_tag
    • enable_sender, enable_receiver

Next Steps

During the next meeting we will take the following steps:

  • Review: What are the expected outcomes in different use cases (different pipelines, mixing different domains) - require more examples
  • Whether or not we require the existence of an early CP (the room seems to prefer a single late CP, need to poll)
  • Poll on late CP
  • Poll on moving back from std:: namespace (LWG to come back with reasoning - take the following poll: POLL: Revert the recommendation by LWG: get_env, empty_env, and env_of_t are moved into the std:: namespace.)
  • Poll / approve by the room the sender_of concept names

@inbal2l
Copy link
Collaborator

inbal2l commented Nov 10, 2023

D2999R2: Sender Algorithm Customization
Scheduled for LEWG in Kona 2023 (Thursday)

@inbal2l
Copy link
Collaborator

inbal2l commented Nov 10, 2023

Library Evolution Telecon 2022-11-09

D2999R1: Sender Algorithm Customization

2023-11-09 Library Evolution Kona Minutes

Champion: Eric Niebler

Chair: Inbal Levi / Fabio Fracassi

Minute Taker: Ben Craig

Summary

POLL: Remove the sender_of concept (without prejudice, can be readded later, possibly with a different semantic)

SF F N A SA
7 8 4 0 1

Attendance: 22 + 4

# of Authors: 2

Authors’ position: SF SF

Outcome: Consensus in favour

SA: This removes functionality that is too useful. In case I want a different version, it helps to have this one in the standard.

Next Steps

The authors will remove the "sender_of" concept from this version (we would like to re-design the shape of the concept).

LEWG will spend additional time on this paper during the Kona meeting.

@ben-craig
Copy link
Collaborator

ben-craig commented Nov 11, 2023

Library Evolution Telecon 2022-11-10

D2999R2: Sender Algorithm Customization

2023-11-10 Library Evolution Kona Minutes

Champion: Eric Niebler

Chair: Inbal Levi, Ben Craig

Minute Taker: Andreas Weis

Summary

POLL: Approve design of D2999R2 (Sender Algorithm Customization). (not a forwarding poll)

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
9 12 2 0 0

Attendance: 27+5

# of Authors: 1

Author Position: SF

Outcome: Strong consensus in favor

Next Steps

The design was approved. The P paper should get back to LEWG to make sure the wording fits the design intent.
NOTE: This should be merged into P2300, not into the standard (no need for electronic poll)

@inbal2l inbal2l removed the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Nov 15, 2023
@inbal2l inbal2l changed the title P2999 R0 Sender Algorithm Customization P2999 R2 Sender Algorithm Customization Nov 16, 2023
@inbal2l
Copy link
Collaborator

inbal2l commented Dec 9, 2023

2023-12-05 Library Evolution Telecon

P2999R2: Sender Algorithm Customization

2023-12-05 Library Evolution Telecon Minutes

Champion: Eric Niebler

Chair: Fabio Fracassi

Minute Taker: Ben Craig

Summary

The wording of the paper was reviewed (requires more time).
The topic of removing early customization was brought up, and as the Kona discussion suggested it requires more exploration (but shouldn't block the work on P2999) LEWG still asks for a paper for that (this was referred to and polled during Kona).

No polls were taken.

Next Steps

LEWG needs to continue reviewing the wording in P2999R2.

@FabioFracassi FabioFracassi added the needs-revision Paper needs changes before it can proceed label Dec 12, 2023
@inbal2l
Copy link
Collaborator

inbal2l commented Dec 12, 2023

2023-12-12 Library Evolution Telecon

P2999R2: Sender Algorithm Customization

2023-12-12 Library Evolution Telecon Minutes

Champion: Eric Niebler

Chair: Fabio Fracassi

Minute Taker: Ben Craig

  • Why should this utility go into the standard library? Needs to be used in the implementation of Sender algorithms
  • Examples? Yes
  • Discussion of prior art? yes
  • Implementation experience? yes
    • Usage experience? yes
    • Deployment experience? no
  • Performance considerations? yes
  • Changes Library Evolution previously requested? yes
  • Support in "std::format" and "hash" (if required)? n/a
  • Feature test macro? not needed, will be integrated with P2300
  • Freestanding? no change
  • Wording? yes (in review)

Summary

The topic of removing early customization was brought up, and as the Kona discussion suggested it requires more exploration (but shouldn't block the work on P2999) LEWG still asks for a paper for that (this was referred to and polled during Kona).

The wording of the paper was reviewed:

  • clarified the intent of the transform_sender API
  • naming of transform_sender follows await_transform (because it has similar purpose)
  • In the: Editor's note: To section §11.9.1 [exec.snd.concepts], after paragraph 4, add two new paragraphs as follows:
    Avoid using not yet standard features, make sure this can be implemented in current C++.
  • Back out of the drive by fix on conjunction in [exec.schedule.from]
  • In [exec.snd.transform] make sure that the mandates from [exec.???] are not lost.
  • In [exec.when.all] §4 make the "unspecified" "unused" (or a note to that effect)

To be continued at [exec.start.detached] in R3 with the changes above incorporated.

No polls were taken.

The author will produce a new revision (R3) that incorporates the points mentioned. We will finish the review of [exec.start.detached], [exec.sync.wait] and [exec.execute].

Next Steps

  • LEWG needs to continue reviewing the wording in P2999R2/3.
  • Forwarding poll

@inbal2l inbal2l added scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review and removed B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e labels Dec 12, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Dec 19, 2023

P2999R1 Sender Algorithm Customization (Eric Niebler)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Dec 19, 2023
@wg21bot wg21bot modified the milestones: 2023-telecon, 2024-telecon Dec 19, 2023
@wg21bot wg21bot changed the title P2999 R2 Sender Algorithm Customization P2999 R1 Sender Algorithm Customization Dec 19, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Dec 19, 2023

P2999R2 Sender Algorithm Customization (Eric Niebler)

@wg21bot wg21bot changed the title P2999 R1 Sender Algorithm Customization P2999 R2 Sender Algorithm Customization Dec 19, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Dec 19, 2023

P2999R3 Sender Algorithm Customization (Eric Niebler)

@wg21bot wg21bot changed the title P2999 R2 Sender Algorithm Customization P2999 R3 Sender Algorithm Customization Dec 19, 2023
@FabioFracassi
Copy link
Collaborator

FabioFracassi commented Dec 19, 2023

2023-12-19 Library Evolution Telecon

P2999R3: Sender Algorithm Customization

2023-12-13 Library Evolution Telecon Minutes

Champion: Eric Niebler

Chair: Fabio Fracassi

Minute Taker: Ben Craig

Summary

Short review of the remaining wording. No further changes were requested

POLL: Send "[P2999R3] Sender Algorithm Customization" to Library Working Group for C++26, to be confirmed by electronic polling.

SF F N A SA
3 5 2 0 1

SA: Complexity of S/R is getting too complex, the complexity was not discussed here.

Attendance: 20

# of Authors: 1

Author's Position: SF

Outcome: Consensus in favour

Next Steps

P2999R3 was forwarded to LWG (applied on P2300) to be confirmed with an electronic poll.

@inbal2l
Copy link
Collaborator

inbal2l commented Dec 19, 2023

P2999R3 was added to LEWG 2023 December electronic poll paper (P3053R0)

@inbal2l
Copy link
Collaborator

inbal2l commented Jan 17, 2024

P2999R3 was forwarded to LWG on LEWG 2023 December electronic poll (P3054R0)

@inbal2l inbal2l added LWG Library lwg-pending LWG Chair needs to disposition and removed LEWG Library Evolution ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Jan 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B1 - focus Bucket 1 as described by P0592: material that is mentioned in this plan. C++26 Targeted at C++26 executors LWG Library lwg-pending LWG Chair needs to disposition size - medium paper size estimate
Projects
Status: No status
Development

No branches or pull requests

4 participants