C++ Logo

SG15

Advanced search

Subject: Re: [SG15] Paper for Saturday CppCon Tooling meeting: remove.dots.in.module.names
From: Boris Kolpackov (boris_at_[hidden])
Date: 2019-09-20 13:31:18


Gabriel Dos Reis via SG15 <sg15_at_[hidden]> writes:

> By the time we got the Merged Modules, we have had enough internal use and
> experience to let me believe we should retain that notation, even when we
> got a different notation for module partitions. Reserving that notation for
> submodules only would have been a design mistake in the sense that it
> supposes such hierarchical organization is more prevalent than a higher
> level organization that is not enforceable at the language level. For
> example, thinking that submodules XYZ.* will all form a coherent unit can be
> imported as a whole in a given program is a nice theory but too naïve to be
> the case in practice for any medium to large organization XYZ. Rather, what
> happens is that the hierarchical naming X.Y.Z follows higher level patterns
> (sometimes organizational) that is not expressible in the language and that
> is fine. In fact, such organization are more prevalent that the strict
> submodules envisioned in the historical recount.

Agree.

The way I think of this, interface partitions are "module-private"
submodules (i.e., a user of a module cannot import individual partitions).
But the author of a module may wish to (but does not have to) organize
their modules into publicly-visible submodules.


SG15 list run by herb.sutter at gmail.com

Older archives