C++ Logo

sg15

Advanced search

Re: [SG15] Paper for Saturday CppCon Tooling meeting: remove.dots.in.module.names

From: Boris Kolpackov <boris_at_[hidden]>
Date: Fri, 20 Sep 2019 20:31:18 +0200
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.

Received on 2019-09-20 13:33:29