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

P1935 A C++ Approach to Physical Units #681

Open
wg21bot opened this issue Oct 27, 2019 · 5 comments
Open

P1935 A C++ Approach to Physical Units #681

wg21bot opened this issue Oct 27, 2019 · 5 comments
Labels
Milestone

Comments

@wg21bot
Copy link
Collaborator

@wg21bot wg21bot commented Oct 27, 2019

P1935R0 A C++ Approach to Physical Units (Mateusz Pusz)

@wg21bot wg21bot added LEWG SG6 labels Oct 27, 2019
@wg21bot wg21bot added this to the 2019-11 milestone Oct 27, 2019
@tahonermann tahonermann added the SG16 label Oct 28, 2019
@tahonermann

This comment has been minimized.

Copy link
Collaborator

@tahonermann tahonermann commented Oct 28, 2019

SG16 plans to review this paper in Belfast with a specific focus on text formatting and if/how Unicode characters not in the basic source character set can be used as unit symbols.

@FabioFracassi FabioFracassi added the C++23 label Oct 30, 2019
@FabioFracassi FabioFracassi added this to If time allows in LEWGBelfast2019 Oct 30, 2019
@FabioFracassi FabioFracassi moved this from If time allows to Wednesday Afternoon in LEWGBelfast2019 Oct 30, 2019
@brycelelbach brycelelbach added info LEWGI and removed info C++23 LEWG labels Nov 6, 2019
@brycelelbach

This comment has been minimized.

Copy link
Collaborator

@brycelelbach brycelelbach commented Nov 8, 2019

Belfast 2019-11 LEWGI Minutes

P1935R0 Units Library Rationale: Direction Review

Chair: Bryce Adelstein Lelbach

Champion: Mateusz Pusz

Minute Taker: Marco Foco

Start Review: 11-07 8:41

std::chrono is a good litmus test for this feature, as it's an existing part of the library that has a notion of units.

Design goals starting on slide 10.

Priorities: safety > performance > ease of use

POLL: Quantity kind (width, height, etc) should be a priority for the initial release of this feature.

Strongly For Weakly For Neutral Weakly Against Strongly Against
2 0 7 7 3

Attendance: 19

# of Authors: 1

Author Position: A

That has consensus against.

POLL: We should promise more committee time to pursuing adding common units (such as SI, customary, etc) to the standard library, knowing that our time is scarce and this will leave less time for other work.

Strongly For Weakly For Neutral Weakly Against Strongly Against
11 7 4 2 0

Attendance: 23

# of Authors: 1

Author Position: SF

A: I think only SI will have too small of an audience; I want something extensible.

That has consensus.

POLL: We should promise more committee time to pursuing a standard library framework for user defined units and unit systems, knowing that our time is scarce and this will leave less time for other work.

Strongly For Weakly For Neutral Weakly Against Strongly Against
10 8 4 1 1

Attendance: 24

# of Authors: 1

Author Position: SF

A: Afraid the audience that needs this is too small.

SA: Currency is over my dead body.

That has consensus.

POLL: In a C++ standard units framework, C++ conversions should not vary over runtime.

Strongly For Weakly For Neutral Weakly Against Strongly Against
8 8 2 3 0

Attendance: 23

# of Authors: 1

Author Position: SF

POLL: We should plan for versioning of standard library physical constants.

Strongly For Weakly For Neutral Weakly Against Strongly Against
6 11 3 0 0

Attendance: 23

# of Authors: 0

That has unanimous consent.

POLL: Compile time diagnostics are a Quality-of-Implementation (QOI) matter and should not influence the standard units library API.

Strongly For Weakly For Neutral Weakly Against Strongly Against
8 3 2 6 3

Attendance: 23

# of Authors: 1

Authors Position: SA

That has no consensus.

Lunch: 12:00

Resume: 13:35

Minute Taker: Ben Craig

POLL: A standard library of quantity concepts are a priority for the initial release of a standard library units framework.

Strongly For Weakly For Neutral Weakly Against Strongly Against
1 5 10 5 0

Attendance: 21

# of Authors: 1

Author Position: SF

A: I voted against because I don't think they should be a priority.

A: I voted against because of compile-time concerns.

That has no consensus.

POLL: We should promise more committee time to pursuing P1935R0 (A C++ Approach to Physical Units), knowing that our time is scarce and this will leave less time for other work.

Strongly For Weakly For Neutral Weakly Against Strongly Against
4 7 6 4 1

Attendance: 23

# of Authors: 1

Author Position: SF

SA: Existing practice seems unsettled, unclear but very large scope, worried it obscures precision from my developers, concerns about how it interacts with vectors and matrices.

End: 15:30

CONSENSUS: Bring a revision of P1935R0 (A C++ Approach to Physical Units), with the guidance below, to LEWGI and SG6 for further direction review.

  • Remove the proposed standard library quantity concepts.
  • Write a separate paper exploring using rational as a CNTTP.
  • Explore approaches for versioning standard library physical constants:
    • Version namespaces.
    • Add the version to the identifiers.
    • Template variables parameterized by a tag.
    • WEB's approach (see minutes).
@wg21bot

This comment has been minimized.

Copy link
Collaborator Author

@wg21bot wg21bot commented Dec 11, 2019

P1935R1 A C++ Approach to Physical Units (Mateusz Pusz)

@wg21bot wg21bot modified the milestones: 2019-11, 2020-02 Dec 11, 2019
@wg21bot

This comment has been minimized.

Copy link
Collaborator Author

@wg21bot wg21bot commented Jan 18, 2020

P1935R2 A C++ Approach to Physical Units (Mateusz Pusz)

@brycelelbach

This comment has been minimized.

Copy link
Collaborator

@brycelelbach brycelelbach commented Feb 12, 2020

Prague 2020-02 LEWGI Minutes

P1935R3 Physical Units Library: Direction Review

Chair: Bryce Adelstein Lelbach

Champion: Mateusz Pusz

Minute Taker: Ben Craig

Start Review: 2020-02-11 16:00

Design decisions that need to be made:

  • How do we create quantities?
  • Chrono-like vs constants

Please don't use the term "tony table" in your slides. It's an insider term that has no meaning to new people. Call them "before/after tables"

Prefer named function to explicit constructor to avoid unintentional mismatches.

km, etc could be a constant, but not associated with any value, and thus not with any type. It could have some special type that could be multiplied with values.

POLL: Knowing what we know right now, the design for standard library units must be consistent with std::chrono's interface idioms.

Strongly For Weakly For Neutral Weakly Against Strongly Against
0 0 2 14 6

Attendance: 21

# of Authors: 1

Author Position: A

Vincent Reverdy presented his plans for P1930.

End: 17:21

CONSENSUS: Everyone who has a vision for how standard library physical units should collaborate in between meetings and bring either:

  • A unified paper from all of you.
  • Papers from subsets of you explaining your vision.

Ryan McDougall will chair the inter-meeting discussions of physical units.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
LEWGBelfast2019
Wednesday Afternoon (NB comment buffe...
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants
You can’t perform that action at this time.