<div dir="ltr"><div dir="ltr">On Tue, Feb 12, 2019 at 12:46 PM Corentin <<a href="mailto:corentin.jabot@gmail.com">corentin.jabot@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 12 Feb 2019 at 21:38 Matthew Woehlke <<a href="mailto:mwoehlke.floss@gmail.com" target="_blank">mwoehlke.floss@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 12/02/2019 15.02, JF Bastien wrote:<br>
> On Tue, Feb 12, 2019 at 11:50 AM Ben Boeckel wrote:<br>
>> On Tue, Feb 12, 2019 at 19:32:45 +0000, Gabriel Dos Reis wrote:<br>
>>> IPR isn’t for distribution.<br>
>><br>
>> OK. Substitute whatever format we end up using for distribution of<br>
>> modules within RPM, DPKG, vcpkg, ports, etc. It just can't be "nothing"<br>
>> because otherwise modules are effectively only useful in monorepo<br>
>> build-the-world-from-scratch projects. Which is not how C++ works today<br>
>> in the realm of FOSS. And it is best if that format is compatible<br>
>> between otherwise-compatible compilers too.<br>
> <br>
> Can you elaborate on how modules are useless. You seem to say that a<br>
> codebase can't use TS modules if any of its dependencies (including<br>
> internal to that project!) aren't also modularized. I don't understand why<br>
> that would be the case.<br>
<br>
Huh? I don't know how you arrived at that conclusion...<br>
<br>
No, the problem is that libraries are distributed, and users use<br>
distributed libraries. In order for these libraries to be modularized,<br>
they have to ship something that allows BMI's to be generated.<br>
<br>
Right now, they ship headers. They can't ship BMI's because BMI's are<br>
not portable across compilers or quite possibly even compiler versions.<br>
Shipping raw source will not be an option for non-open-source libraries.<br></blockquote><div><br></div><div>Uh ?</div><div>Headers are raw source. Module header units are raw sources</div><div>there is absolutely no difference</div><div><br></div><div>If they need to hide implementation details, module implementations units exist.</div></div></div></blockquote><div><br></div><div>I'm confused as to why headers suddenly stop working.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
We need an intermediate representation that is *portable*.<br></blockquote></div></div></blockquote><div> </div><div>We do?</div><div><br></div></div></div>