C++ Logo

sg15

Advanced search

Re: [SG15] [isocpp-ext] Modularization of the standard library andABI stability

From: Gabriel Dos Reis <gdr_at_[hidden]>
Date: Mon, 9 Mar 2020 22:28:06 +0000
  * If it is a reorganization and redefining the freestanding library isn't in scope, does that mean we don't want to "fix" freestanding?

If “fixing” freestanding helps in anyway, then shouldn’t it be in scope?

-- Gaby

From: Ext <ext-bounces_at_[hidden]> On Behalf Of Bryce Adelstein Lelbach aka wash via Ext
Sent: Monday, March 9, 2020 2:38 AM
To: Ville Voutilainen <ville.voutilainen_at_[hidden]>
Cc: Bryce Adelstein Lelbach aka wash <brycelelbach_at_[hidden]>; Ben Boeckel via Modules <modules_at_[hidden]>; ISO C++ Tooling Study Group <sg15_at_[hidden]>; C++ Library Evolution Working Group <lib-ext_at_[hidden]>; Evolution Working Group mailing list <ext_at_[hidden]>; Nagy-Egri Máté Ferenc <nagy-egri.mate_at_[hidden]>
Subject: Re: [isocpp-ext] [SG15] Modularization of the standard library andABI stability

The first sentence rom P0581:

> With recent progress made on the ‘module’ language feature, it is long overdue that we start a conversation around uses of modules in the standard library.

My question is, simply, "why?"

Let's quantify what we hope to achieve and what the scope of the work is, as I tried to do two posts ago.

Is this a reorganization or not?

If yes, is redefining the freestanding library in scope?

If it is a reorganization and redefining the freestanding library isn't in scope, does that mean we don't want to "fix" freestanding?

On Mon, Mar 9, 2020, 02:32 Bryce Adelstein Lelbach aka wash <brycelelbach_at_[hidden]<mailto:brycelelbach_at_[hidden]>> wrote:
I wrote a paper that in large part was a response to P0581, so yes, I've read it a few times.

https://wg21.link/P1453<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwg21.link%2FP1453&data=02%7C01%7Cgdr%40microsoft.com%7Cc4cbb7a2340a4b6976bb08d7c40da175%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637193435132406863&sdata=acUXrragi5HQgZmyyZ4pPW0PnmdSjEHMoAbwtSPQVF4%3D&reserved=0>

It sounded like you were trying to make a point. Can you be clearer about what that point was?

On Mon, Mar 9, 2020, 02:25 Ville Voutilainen <ville.voutilainen_at_[hidden]<mailto:ville.voutilainen_at_[hidden]>> wrote:
On Mon, 9 Mar 2020 at 11:16, Bryce Adelstein Lelbach aka wash via Ext
<ext_at_[hidden]<mailto:ext_at_[hidden]>> wrote:
>
> > From a users perspective, having STL modules would speed up compilation times immensely
>
> As I said in my email, standard library headers are already importable in C++20. So your implementation can already replace #include <vector> with import <vector>;
>
> I don't know that we can really do that much more than that; we could have an import std.vector, but it sounds like (0) std::vector would have to remain in the global module and (1) standard library implementation details would probably have to remain in the global module as well.
>
> TL;DR the use case you described is already covered in C++20.

I wonder whether the people commenting on this thread have read
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0581r1.pdf<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.open-std.org%2Fjtc1%2Fsc22%2Fwg21%2Fdocs%2Fpapers%2F2018%2Fp0581r1.pdf&data=02%7C01%7Cgdr%40microsoft.com%7Cc4cbb7a2340a4b6976bb08d7c40da175%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637193435132406863&sdata=Cy7x0lgQG53rkRqpX7gPPW4NgNg3ad0Xf%2FqUwyz1e6s%3D&reserved=0>.

Received on 2020-03-09 17:30:53