Skip to content

P1453 Modularizing the Standard Library is a Reorganization Opportunity #218

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

Closed
jensmaurer opened this issue Jan 26, 2019 · 1 comment
Closed
Labels
info Informational paper modules Modules

Comments

@jensmaurer
Copy link
Member

P1453R0 Modularizing the Standard Library is a Reorganization Opportunity (Bryce Adelstein Lelbach)

@jensmaurer jensmaurer added this to the 2019-02 milestone Jan 26, 2019
@jensmaurer jensmaurer added LEWG Library Evolution modules Modules labels Jan 26, 2019
@tituswinters
Copy link

tituswinters commented Feb 19, 2019

Discussed by LEWG in Kona:
Do not consider option #4 (reorganize std into modules and fix freestanding in C++20).
Unanimous consent

Reserve modules with names prefixed by std, and std+(any sequence of digits) for use by the IS. Implementers may only provide modules matching such prefixes with a reserved token (“._”, depending on if that’s allowable in the module syntax) - users may not depend on those portably.
SF F N A SA
10 4 1 1 0

We eventually want both an import std and a finer-granularity modularity for the standard library.
SF F N A SA
8 3 3 1 0

For C++20, Do nothing, assume users will import . Implementers are required to ensure that existing C++ headers are modular to ensure this is portable.
SF F N A SA
0 8 3 2 1

For C++20, Modularize on the existing header structure.
SF F N A SA
0 0 2 6 5

For C++20, One Big module std.
SF F N A SA
2 3 4 3 2

Walter + Chris DiBella will write the "We reserve module names" paper.
Neil Meyers will write the "Implementers must make import <$CXXHEADER> well-formed" paper.

@tituswinters tituswinters removed the LEWG Library Evolution label Feb 19, 2019
@jensmaurer jensmaurer removed this from the 2019-02 milestone Mar 21, 2019
@cor3ntin cor3ntin added the info Informational paper label Dec 7, 2021
@cor3ntin cor3ntin closed this as completed Dec 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
info Informational paper modules Modules
Projects
None yet
Development

No branches or pull requests

3 participants