Date: Thu, 14 Feb 2019 17:46:31 +0000
[Matthew]
| As previously stated, I was under the impression that some people felt
| strongly that one of their 'goals for modules' was to be able to get rid
| of that distinction at the managed-source level (i.e. the files that are
| developer-authored would not make such a distinction). If that is indeed
| a goal, then we *must* have a PMIR¹. I'm not sure what form that will
| take; it *may* look suspiciously like a C++ "header" file that is
| automatically generated by the compiler.
What we set out to get out of modules isn’t a secret; we listed them prominently in the design document:
- componentization
- isolation
- build throughput
- semantics-aware developer tools
| AFAICT, the only plausible alternative is to require folks to maintain
| the interface/implementation split in their original sources, and to
| continue to ship the inteface source files.
That isn't something we require, and I hope we don't come to require that.
| Which... is basically what
| we do today, and contradicts something I had understood to be a desired
| goal of modules. I'm okay with that, but if that's the case, let's
| please state that clearly.
|
| (¹ Portable Module Interface Representation)
-- Gaby
| As previously stated, I was under the impression that some people felt
| strongly that one of their 'goals for modules' was to be able to get rid
| of that distinction at the managed-source level (i.e. the files that are
| developer-authored would not make such a distinction). If that is indeed
| a goal, then we *must* have a PMIR¹. I'm not sure what form that will
| take; it *may* look suspiciously like a C++ "header" file that is
| automatically generated by the compiler.
What we set out to get out of modules isn’t a secret; we listed them prominently in the design document:
- componentization
- isolation
- build throughput
- semantics-aware developer tools
| AFAICT, the only plausible alternative is to require folks to maintain
| the interface/implementation split in their original sources, and to
| continue to ship the inteface source files.
That isn't something we require, and I hope we don't come to require that.
| Which... is basically what
| we do today, and contradicts something I had understood to be a desired
| goal of modules. I'm okay with that, but if that's the case, let's
| please state that clearly.
|
| (¹ Portable Module Interface Representation)
-- Gaby
Received on 2019-02-14 18:46:36