[cfe-dev] [Modules TS] Have the file formats been decided?

Stephen Kelly via cfe-dev cfe-dev at lists.llvm.org
Sun Jan 22 04:00:58 PST 2017


Sean Silva via cfe-dev wrote:

>> I don't know what the 'developer
>> story' is apart from 'wait for all of your dependencies to update with
>> modules support and wait for each buildsystem of your dependency to be
>> compatible with all the others for creating and consuming modules and
>> then you can start using modules'.
> 
> The problem for C++ modules is actually worse than just "wait for your
> dependencies". You also may need to wait for your dependents since the
> modules syntax is incompatible with pre-modules compilers (though last I
> talked with Richard about this he had some pretty clear ideas for keeping
> the overhead down during the transition period, which for some projects
> will be "forever").

I would be interested to hear more from Richard about this.

> Waiting for your dependencies and dependents is a bit of a catch-22
> unfortunately; we just need to hope that intermediate transitionary steps
> are available to break the deadlock.

That does sound like a problem.

> Between different build systems, package managers, etc. the deadlock is
> even stronger (nobody wants to take the first step because nobody's first
> step adds any value without the others).

I'm not certain what you're referring to. Perhaps what you have in mind is 
some standardization/conventions for buildsystems. I doubt that's possible. 
I think it would be better if Modules were designed to not have that impact.

>> I realize this goes beyond Clang and the ModulesTS has buildsystem issues
>> too...
>>
> 
> One interesting point here is that it's clear that some sort of
> standardization is going to be needed "outside the ISO C++ Standard" (e.g.
> conventions for build systems etc.). 

I can't imagine how anyone would get something like that started.

> It may be too early for that work to
> start, 

I don't agree with that. I think the design of C++ Modules and the impact 
the design has on buildsystems are coupled. A brilliantly designed Modules 
system which does not consider the buildsystem (or the impact on how people 
write code - what files they write and how they relate to each other in the 
way that .h and .cpp files do today etc) might not get the deserved 
adoption.

> but I haven't seen much on that front (though admittedly I'm not
> actively following all this modules stuff in detail anymore). If you're in
> a position where you can contribute to that effort it would be *hugely*
> appreciated I'm sure!

I'm not sure how appreciated it will be, but I have attempted to ask some 
starting questions here:

 https://groups.google.com/a/isocpp.org/forum/?fromgroups#!topic/modules/sDIYoU8Uljw

Those are not all the questions I have, but you are correct that the 
conversation about the impact of Modules on buildsystems does not currently 
exist at all, so starting smaller is better.

Thanks,

Steve.





More information about the cfe-dev mailing list