C++ Logo

sg15

Advanced search

Re: [Tooling] Modules feedback

From: JF Bastien <cxx_at_[hidden]>
Date: Tue, 12 Feb 2019 14:01:34 -0800
On Tue, Feb 12, 2019 at 12:46 PM Corentin <corentin.jabot_at_[hidden]> wrote:

>
>
> On Tue, 12 Feb 2019 at 21:38 Matthew Woehlke <mwoehlke.floss_at_[hidden]>
> wrote:
>
>> On 12/02/2019 15.02, JF Bastien wrote:
>> > On Tue, Feb 12, 2019 at 11:50 AM Ben Boeckel wrote:
>> >> On Tue, Feb 12, 2019 at 19:32:45 +0000, Gabriel Dos Reis wrote:
>> >>> IPR isn’t for distribution.
>> >>
>> >> OK. Substitute whatever format we end up using for distribution of
>> >> modules within RPM, DPKG, vcpkg, ports, etc. It just can't be "nothing"
>> >> because otherwise modules are effectively only useful in monorepo
>> >> build-the-world-from-scratch projects. Which is not how C++ works today
>> >> in the realm of FOSS. And it is best if that format is compatible
>> >> between otherwise-compatible compilers too.
>> >
>> > Can you elaborate on how modules are useless. You seem to say that a
>> > codebase can't use TS modules if any of its dependencies (including
>> > internal to that project!) aren't also modularized. I don't understand
>> why
>> > that would be the case.
>>
>> Huh? I don't know how you arrived at that conclusion...
>>
>> No, the problem is that libraries are distributed, and users use
>> distributed libraries. In order for these libraries to be modularized,
>> they have to ship something that allows BMI's to be generated.
>>
>> Right now, they ship headers. They can't ship BMI's because BMI's are
>> not portable across compilers or quite possibly even compiler versions.
>> Shipping raw source will not be an option for non-open-source libraries.
>>
>
> Uh ?
> Headers are raw source. Module header units are raw sources
> there is absolutely no difference
>
> If they need to hide implementation details, module implementations units
> exist.
>

I'm confused as to why headers suddenly stop working.



> We need an intermediate representation that is *portable*.
>>
>
We do?

Received on 2019-02-12 23:01:50