<div dir="ltr"><div dir="ltr">On Tue, Feb 12, 2019 at 12:46 PM Corentin &lt;<a href="mailto:corentin.jabot@gmail.com">corentin.jabot@gmail.com</a>&gt; 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 &lt;<a href="mailto:mwoehlke.floss@gmail.com" target="_blank">mwoehlke.floss@gmail.com</a>&gt; 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>
&gt; On Tue, Feb 12, 2019 at 11:50 AM Ben Boeckel wrote:<br>
&gt;&gt; On Tue, Feb 12, 2019 at 19:32:45 +0000, Gabriel Dos Reis wrote:<br>
&gt;&gt;&gt; IPR isn’t for distribution.<br>
&gt;&gt;<br>
&gt;&gt; OK. Substitute whatever format we end up using for distribution of<br>
&gt;&gt; modules within RPM, DPKG, vcpkg, ports, etc. It just can&#39;t be &quot;nothing&quot;<br>
&gt;&gt; because otherwise modules are effectively only useful in monorepo<br>
&gt;&gt; build-the-world-from-scratch projects. Which is not how C++ works today<br>
&gt;&gt; in the realm of FOSS. And it is best if that format is compatible<br>
&gt;&gt; between otherwise-compatible compilers too.<br>
&gt; <br>
&gt; Can you elaborate on how modules are useless. You seem to say that a<br>
&gt; codebase can&#39;t use TS modules if any of its dependencies (including<br>
&gt; internal to that project!) aren&#39;t also modularized. I don&#39;t understand why<br>
&gt; that would be the case.<br>
<br>
Huh? I don&#39;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&#39;s to be generated.<br>
<br>
Right now, they ship headers. They can&#39;t ship BMI&#39;s because BMI&#39;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&#39;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>