[Tooling] SG15 Why do we need module name to file name mapping

Gabriel Dos Reis gdr at microsoft.com
Mon Feb 4 04:41:12 CET 2019


  *   We have a lot of experience in other languages for deterministic and direct  name -> file mapping, very little for having the module name solely in the source.

I keep reading this.  The opposite is just true as well.  For example, there are lot of experience with C# out there and their productivity hasn’t gotten down because of it.

Lost in all this brouhaha is the fact that the IS does not preclude a trivial mapping: your implementation will document what it wants.

From: tooling-bounces at open-std.org <tooling-bounces at open-std.org> On Behalf Of Corentin
Sent: Sunday, February 3, 2019 6:00 PM
To: WG21 Tooling Study Group SG15 <tooling at open-std.org>
Subject: Re: [Tooling] SG15 Why do we need module name to file name mapping


We don't need it and a lot of us believe we need to not have it.
The price for this level of indirection, as you say is quite high on tooling. the benefits un-existant.

The evolution working group and the authors of the module proposal seem afraid to over specify - while SG-15 thinks
leaving things as they are will lead for decades of pain. At least, I certainly think so.

We have a lot of experience in other languages for deterministic and direct  name -> file mapping, very little for having the module name solely in the source.


As for name collision... It's not a problem. It would even be a good thing to make sure not to have duplicated file names:
Module identifier needs to be unique in a program, so asking the same of files is reasonable.





On Mon, 4 Feb 2019 at 02:20 Scott Wardle <swardle at gmail.com<mailto:swardle at gmail.com>> wrote:
Hi all,

I have been looking for some information why do we need a level of indirection from module name to module interface file name.  Why are modules names need a different system then header names.

I have hear that Microsoft was having some problems with name collision. Is there more concrete information about the problem that Microsoft or other companies were having?

If you have a name collision today with headers we would just make another library that wraps one of the two colliding headers. I name the public header of this new library something different and problem solved.

So I don’t understand why are we paying for this level of indirection but I probably just don’t understand the problem.

Scott
_______________________________________________
Tooling mailing list
Tooling at isocpp.open-std.org<mailto:Tooling at isocpp.open-std.org>
http://www.open-std.org/mailman/listinfo/tooling<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.open-std.org%2Fmailman%2Flistinfo%2Ftooling&data=02%7C01%7Cgdr%40microsoft.com%7C3adf39f0c683427fb84108d68a447a81%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636848424056005598&sdata=NzK37Ir7HzGpduYGXcUZtsC5u8N0DzOVxpdWUnIsIU0%3D&reserved=0>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.open-std.org/pipermail/tooling/attachments/20190204/9cb97c8d/attachment-0001.html 


More information about the Tooling mailing list