cplusplus / papers

ISO/IEC JTC1 SC22 WG21 paper scheduling and management
615 stars 19 forks source link

P2279 We need a language mechanism for customization points #972

Open wg21bot opened 3 years ago

wg21bot commented 3 years ago

P2279R0 We need a language mechanism for customization points (Barry Revzin)

brycelelbach commented 3 years ago

2021-03-02 Joint Library Evolution and Language Evolution Telecon

P2279R0: Language mechanism for customization points

2021-03-02 Joint Library Evolution and Language Evolution Telecon Minutes

Chair: Bryce Adelstein Lelbach & JF Bastien

Champion: Barry Revzin

Minute Taker: Ben Craig

Start Presentation: 2021-03-02 10:06 Pacific

Does this proposal have:

Start Discussion: 10:50

How do we provide type erased / runtime versions of all of these things? Can a language mechanism make this easier?

Can we graft elements from C++0x concepts on top of the concepts we have today?

Is there migration path from existing customization points to new mechanisms? E.g. can we opt into using existing customizations?

Additional attributes for the scoreboard:

Things to investigate:

POLL: We should promise more committee time to exploring language mechanism for customization points (P2279R0), knowing that our time is scarce and this will leave less time for other work.

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

Attendance: 48

# of Authors: 1

Author Position: SF

Outcome: Strong consensus in favor.

End: 11:32

Summary

We reviewed P2279R0, a survey of the limitations of current mechanisms for customization points in C++ and an exploration of what might be possible with new language mechanisms to support customization points. Much of this work is driven by the experience the C++ Standard Library has had with various forms of customization mechanisms such as std::swap and ranges.

After the presentation of the survey paper, we discussed whether it covered all the attributes that we are looking for in a customization mechanism. Specifically, it was suggested that the proposal should consider how each solution, past and present, handled the following:

One possible solution we discussed was adding to concepts some facilities inspired by C++0x concepts.

After a poll, it was clear that we had consensus to spend time and resources on exploring new language mechanisms for customization points that would satisfy the needs of the Standard Library.

The author and collaborators will work on a new revision of the paper. Library Evolution will review it to ensure that it accurate describes the needs of the Standard Library. Evolution will review and iterate on the proposed solution(s).

Outcome

Bring a revision of P2279R0 (Language mechanism for customization points), with the guidance below, to Evolution and Library Evolution for further direction review.

cor3ntin commented 2 years ago

See #1208 for such a solution